<SEC-DOCUMENT>0001493152-22-023525.txt : 20220819
<SEC-HEADER>0001493152-22-023525.hdr.sgml : 20220819
<ACCEPTANCE-DATETIME>20220819090054
ACCESSION NUMBER:		0001493152-22-023525
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		62
CONFORMED PERIOD OF REPORT:	20220630
FILED AS OF DATE:		20220819
DATE AS OF CHANGE:		20220819

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			VirTra, Inc
		CENTRAL INDEX KEY:			0001085243
		STANDARD INDUSTRIAL CLASSIFICATION:	MISCELLANEOUS MANUFACTURING INDUSTRIES [3990]
		IRS NUMBER:				931207631
		STATE OF INCORPORATION:			NV
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-Q
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-38420
		FILM NUMBER:		221179055

	BUSINESS ADDRESS:	
		STREET 1:		295 E CORPORATE PLACE
		CITY:			CHANDLER
		STATE:			AZ
		ZIP:			85225
		BUSINESS PHONE:		4809681488

	MAIL ADDRESS:	
		STREET 1:		295 E CORPORATE PLACE
		CITY:			CHANDLER
		STATE:			AZ
		ZIP:			85225

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	VIRTRA SYSTEMS INC
		DATE OF NAME CHANGE:	20020628

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	GAMECOM INC
		DATE OF NAME CHANGE:	19991103
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>form10-q.htm
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<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/2022" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:us-gaap="http://fasb.org/us-gaap/2022" xmlns:us-roles="http://fasb.org/us-roles/2022" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:country="http://xbrl.sec.gov/country/2022" xmlns:srt="http://fasb.org/srt/2022" xmlns:VTSI="http://virtra.com/20220630">
<head>
     <title></title>
<meta http-equiv="Content-Type" content="text/html" />
</head>
<!-- Field: Set; Name: xdx; ID: xdx_02B_US%2DGAAP%2D2022 -->
<!-- Field: Set; Name: xdx; ID: xdx_039_VTSI_virtra.com_20220630 -->
<!-- Field: Set; Name: xdx; ID: xdx_04A_20220101_20220630 -->
<!-- Field: Set; Name: xdx; ID: xdx_056_edei%2D%2DEntityCentralIndexKey_0001085243 -->
<!-- Field: Set; Name: xdx; ID: xdx_059_edei%2D%2DAmendmentFlag_false -->
<!-- Field: Set; Name: xdx; ID: xdx_058_edei%2D%2DDocumentFiscalPeriodFocus_Q2 -->
<!-- Field: Set; Name: xdx; ID: xdx_051_edei%2D%2DCurrentFiscalYearEndDate_%2D%2DLS0xMi0zMQ== -->
<!-- Field: Set; Name: xdx; ID: xdx_070_XDX_form10%2Dq.xdx -->
<!-- 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="From2022-01-01to2022-06-30" name="dei:EntityCentralIndexKey">0001085243</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2022-01-01to2022-06-30" name="dei:AmendmentFlag">false</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2022-01-01to2022-06-30" name="dei:DocumentFiscalPeriodFocus">Q2</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2022-01-01to2022-06-30" name="dei:CurrentFiscalYearEndDate">--12-31</ix:nonNumeric>
  <ix:nonFraction name="us-gaap:CommitmentsAndContingencies" contextRef="AsOf2022-06-30" id="xdx2ixbrl0138" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2022-06-30" id="xdx2ixbrl0144" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2021-12-31" id="xdx2ixbrl0145" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2022-06-30_us-gaap_CommonClassAMember" id="xdx2ixbrl0182" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2021-12-31_us-gaap_CommonClassAMember" id="xdx2ixbrl0183" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2022-06-30_us-gaap_CommonClassBMember" id="xdx2ixbrl0201" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2021-12-31_us-gaap_CommonClassBMember" id="xdx2ixbrl0202" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-03-31_us-gaap_PreferredStockMember" id="xdx2ixbrl0350" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-03-31_us-gaap_TreasuryStockMember" id="xdx2ixbrl0353" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-03-31_us-gaap_PreferredStockMember" id="xdx2ixbrl0357" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-04-012022-06-30_us-gaap_PreferredStockMember" id="xdx2ixbrl0361" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0362" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-04-012022-06-30_us-gaap_TreasuryStockMember" id="xdx2ixbrl0364" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-04-012022-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0365" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2022-04-012022-06-30_us-gaap_PreferredStockMember" id="xdx2ixbrl0370" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2022-04-012022-06-30_us-gaap_TreasuryStockMember" id="xdx2ixbrl0373" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2022-04-012022-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0374" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices" contextRef="From2022-04-012022-06-30_us-gaap_PreferredStockMember" id="xdx2ixbrl0379" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices" contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0380" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices" contextRef="From2022-04-012022-06-30_us-gaap_TreasuryStockMember" id="xdx2ixbrl0382" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices" contextRef="From2022-04-012022-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0383" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-04-012022-06-30_us-gaap_PreferredStockMember" id="xdx2ixbrl0386" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0387" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-04-012022-06-30_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0388" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-04-012022-06-30_us-gaap_TreasuryStockMember" id="xdx2ixbrl0389" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-06-30_us-gaap_PreferredStockMember" id="xdx2ixbrl0393" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-06-30_us-gaap_TreasuryStockMember" id="xdx2ixbrl0396" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-06-30_us-gaap_PreferredStockMember" id="xdx2ixbrl0400" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31_us-gaap_PreferredStockMember" id="xdx2ixbrl0404" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31_us-gaap_TreasuryStockMember" id="xdx2ixbrl0407" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2021-12-31_us-gaap_PreferredStockMember" id="xdx2ixbrl0411" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-01-012022-06-30_us-gaap_PreferredStockMember" id="xdx2ixbrl0415" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-01-012022-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0416" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-01-012022-06-30_us-gaap_TreasuryStockMember" id="xdx2ixbrl0418" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-01-012022-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0419" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2022-01-012022-06-30_us-gaap_PreferredStockMember" id="xdx2ixbrl0424" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2022-01-012022-06-30_us-gaap_TreasuryStockMember" id="xdx2ixbrl0427" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2022-01-012022-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0428" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices" contextRef="From2022-01-012022-06-30_us-gaap_PreferredStockMember" id="xdx2ixbrl0433" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices" contextRef="From2022-01-012022-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0434" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices" contextRef="From2022-01-012022-06-30_us-gaap_TreasuryStockMember" id="xdx2ixbrl0436" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices" contextRef="From2022-01-012022-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0437" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-06-30_us-gaap_PreferredStockMember" id="xdx2ixbrl0440" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0441" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-06-30_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0442" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-06-30_us-gaap_TreasuryStockMember" id="xdx2ixbrl0443" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-06-30_us-gaap_PreferredStockMember" id="xdx2ixbrl0447" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-06-30_us-gaap_TreasuryStockMember" id="xdx2ixbrl0450" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-06-30_us-gaap_PreferredStockMember" id="xdx2ixbrl0454" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-03-31_us-gaap_PreferredStockMember" id="xdx2ixbrl0458" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-03-31_us-gaap_TreasuryStockMember" id="xdx2ixbrl0461" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2021-03-31_us-gaap_PreferredStockMember" id="xdx2ixbrl0465" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2021-04-012021-06-30_us-gaap_PreferredStockMember" id="xdx2ixbrl0469" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2021-04-012021-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0470" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2021-04-012021-06-30_us-gaap_TreasuryStockMember" id="xdx2ixbrl0472" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2021-04-012021-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0473" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2021-04-012021-06-30_us-gaap_PreferredStockMember" id="xdx2ixbrl0478" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2021-04-012021-06-30_us-gaap_TreasuryStockMember" id="xdx2ixbrl0481" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2021-04-012021-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0482" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-04-012021-06-30_us-gaap_PreferredStockMember" id="xdx2ixbrl0487" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-04-012021-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0488" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-04-012021-06-30_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0489" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-04-012021-06-30_us-gaap_TreasuryStockMember" id="xdx2ixbrl0490" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-06-30_us-gaap_PreferredStockMember" id="xdx2ixbrl0494" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-06-30_us-gaap_TreasuryStockMember" id="xdx2ixbrl0497" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2021-06-30_us-gaap_PreferredStockMember" id="xdx2ixbrl0501" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2020-12-31_us-gaap_PreferredStockMember" id="xdx2ixbrl0505" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2020-12-31_us-gaap_TreasuryStockMember" id="xdx2ixbrl0508" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2020-12-31_us-gaap_PreferredStockMember" id="xdx2ixbrl0512" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2021-01-012021-06-30_us-gaap_PreferredStockMember" id="xdx2ixbrl0516" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2021-01-012021-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0517" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2021-01-012021-06-30_us-gaap_TreasuryStockMember" id="xdx2ixbrl0519" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2021-01-012021-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0520" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2021-01-012021-06-30_us-gaap_PreferredStockMember" id="xdx2ixbrl0525" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2021-01-012021-06-30_us-gaap_TreasuryStockMember" id="xdx2ixbrl0528" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2021-01-012021-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0529" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-01-012021-06-30_us-gaap_PreferredStockMember" id="xdx2ixbrl0534" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-01-012021-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0535" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-01-012021-06-30_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0536" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-01-012021-06-30_us-gaap_TreasuryStockMember" id="xdx2ixbrl0537" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-01-012021-06-30_us-gaap_PreferredStockMember" id="xdx2ixbrl0541" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-01-012021-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0542" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-01-012021-06-30_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0543" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-01-012021-06-30_us-gaap_TreasuryStockMember" id="xdx2ixbrl0544" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-06-30_us-gaap_PreferredStockMember" id="xdx2ixbrl0548" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-06-30_us-gaap_TreasuryStockMember" id="xdx2ixbrl0551" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2021-06-30_us-gaap_PreferredStockMember" id="xdx2ixbrl0555" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="From2021-01-012021-06-30" id="xdx2ixbrl0575" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:IssuanceOfStockAndWarrantsForServicesOrClaims" contextRef="From2021-01-012021-06-30" id="xdx2ixbrl0578" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:RepaymentsOfLongTermDebt" contextRef="From2021-01-012021-06-30" id="xdx2ixbrl0632" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ProceedsFromIssuanceInitialPublicOffering" contextRef="From2022-01-01to2022-06-30" id="xdx2ixbrl0634" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="VTSI:ConversionOfInventoryToPropertyAndEquipment" contextRef="From2021-01-012021-06-30" id="xdx2ixbrl0665" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="VTSI:CustomizedSoftwareAndCustomizedContentScenarios" contextRef="From2022-04-012022-06-30_custom_GeographicDistributionCommercialMember" id="xdx2ixbrl0713" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="VTSI:CustomizedSoftwareAndCustomizedContentScenarios" contextRef="From2021-04-012021-06-30_custom_GeographicDistributionCommercialMember" id="xdx2ixbrl0721" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="VTSI:InstallationAndTraining" contextRef="From2021-04-012021-06-30_us-gaap_GeographicDistributionForeignMember" id="xdx2ixbrl0741" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="VTSI:LicensingAndRoyaltiesRevenue" contextRef="From2022-04-012022-06-30_custom_GeographicDistributionCommercialMember" id="xdx2ixbrl0745" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="VTSI:LicensingAndRoyaltiesRevenue" contextRef="From2022-04-012022-06-30_custom_GeographicDistributionGovernmentMember" id="xdx2ixbrl0747" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="VTSI:LicensingAndRoyaltiesRevenue" contextRef="From2022-04-012022-06-30_us-gaap_GeographicDistributionForeignMember" id="xdx2ixbrl0749" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="VTSI:LicensingAndRoyaltiesRevenue" contextRef="From2022-04-012022-06-30" id="xdx2ixbrl0751" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="VTSI:LicensingAndRoyaltiesRevenue" contextRef="From2021-04-012021-06-30_custom_GeographicDistributionGovernmentMember" id="xdx2ixbrl0755" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="VTSI:LicensingAndRoyaltiesRevenue" contextRef="From2021-04-012021-06-30_us-gaap_GeographicDistributionForeignMember" id="xdx2ixbrl0757" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="VTSI:CustomizedSoftwareAndCustomizedContentScenarios" contextRef="From2022-01-012022-06-30_custom_GeographicDistributionCommercialMember" id="xdx2ixbrl0809" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="VTSI:CustomizedSoftwareAndCustomizedContentScenarios" contextRef="From2021-01-012021-06-30_custom_GeographicDistributionCommercialMember" id="xdx2ixbrl0817" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="VTSI:LicensingAndRoyaltiesRevenue" contextRef="From2022-01-012022-06-30_custom_GeographicDistributionCommercialMember" id="xdx2ixbrl0841" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="VTSI:LicensingAndRoyaltiesRevenue" contextRef="From2022-01-012022-06-30_custom_GeographicDistributionGovernmentMember" id="xdx2ixbrl0843" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="VTSI:LicensingAndRoyaltiesRevenue" contextRef="From2022-01-012022-06-30_us-gaap_GeographicDistributionForeignMember" id="xdx2ixbrl0845" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="VTSI:LicensingAndRoyaltiesRevenue" contextRef="From2022-01-01to2022-06-30" id="xdx2ixbrl0847" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="VTSI:LicensingAndRoyaltiesRevenue" contextRef="From2021-01-012021-06-30_custom_GeographicDistributionGovernmentMember" id="xdx2ixbrl0851" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="VTSI:LicensingAndRoyaltiesRevenue" contextRef="From2021-01-012021-06-30_us-gaap_GeographicDistributionForeignMember" id="xdx2ixbrl0853" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AccruedEmployeeBenefitsCurrent" contextRef="AsOf2022-06-30" id="xdx2ixbrl1136" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2022-01-012022-06-30_custom_NonQualifiedStockOptionMember" id="xdx2ixbrl1246" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2022-01-012022-06-30_custom_NonQualifiedStockOptionMember" id="xdx2ixbrl1248" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2021-01-012021-06-30_custom_NonQualifiedStockOptionMember" id="xdx2ixbrl1250" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2021-01-012021-06-30_custom_NonQualifiedStockOptionMember" id="xdx2ixbrl1252" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" contextRef="From2022-01-012022-06-30_custom_NonQualifiedStockOptionMember" id="xdx2ixbrl1270" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" contextRef="From2022-01-012022-06-30_custom_NonQualifiedStockOptionMember" id="xdx2ixbrl1272" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" contextRef="From2021-01-012021-06-30_custom_NonQualifiedStockOptionMember" id="xdx2ixbrl1274" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" contextRef="From2021-01-012021-06-30_custom_NonQualifiedStockOptionMember" id="xdx2ixbrl1276" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  </ix:hidden>
 <ix:references>
  <link:schemaRef xlink:href="vtsi-20220630.xsd" xlink:type="simple" />
  </ix:references>
 <ix:resources>
    <xbrli:context id="From2022-01-01to2022-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-08-11">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-08-11</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_us-gaap_CommonClassAMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_CommonClassAMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_us-gaap_CommonClassBMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_CommonClassBMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-04-012021-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-04-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-06-30_custom_NetSalesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">VTSI:NetSalesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-04-012021-06-30_custom_NetSalesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">VTSI:NetSalesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-04-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_NetSalesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">VTSI:NetSalesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-06-30_custom_NetSalesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">VTSI:NetSalesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-03-31_us-gaap_PreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-03-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-03-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-03-31_us-gaap_TreasuryStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-03-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_PreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_TreasuryStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-03-31_us-gaap_PreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-03-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-03-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-03-31_us-gaap_TreasuryStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-03-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_PreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_TreasuryStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-06-30_us-gaap_PreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-06-30_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-06-30_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-06-30_us-gaap_TreasuryStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-06-30_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_us-gaap_PreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_us-gaap_TreasuryStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-04-012021-06-30_us-gaap_PreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-04-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-04-012021-06-30_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-04-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-04-012021-06-30_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-04-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-04-012021-06-30_us-gaap_TreasuryStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-04-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-04-012021-06-30_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-04-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-06-30_us-gaap_PreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-06-30_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-06-30_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-06-30_us-gaap_TreasuryStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-06-30_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_us-gaap_PreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_us-gaap_TreasuryStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-06-30_us-gaap_PreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-06-30_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-06-30_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-06-30_us-gaap_TreasuryStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-06-30_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-06-30_custom_GeographicDistributionCommercialMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">VTSI:GeographicDistributionCommercialMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-06-30_custom_GeographicDistributionGovernmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">VTSI:GeographicDistributionGovernmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-06-30_us-gaap_GeographicDistributionForeignMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:GeographicDistributionForeignMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-04-012021-06-30_custom_GeographicDistributionCommercialMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">VTSI:GeographicDistributionCommercialMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-04-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-04-012021-06-30_custom_GeographicDistributionGovernmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">VTSI:GeographicDistributionGovernmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-04-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-04-012021-06-30_us-gaap_GeographicDistributionForeignMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:GeographicDistributionForeignMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-04-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_GeographicDistributionCommercialMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">VTSI:GeographicDistributionCommercialMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_GeographicDistributionGovernmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">VTSI:GeographicDistributionGovernmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_us-gaap_GeographicDistributionForeignMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:GeographicDistributionForeignMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-06-30_custom_GeographicDistributionCommercialMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">VTSI:GeographicDistributionCommercialMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-06-30_custom_GeographicDistributionGovernmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">VTSI:GeographicDistributionGovernmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-06-30_us-gaap_GeographicDistributionForeignMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:GeographicDistributionForeignMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_GovernmentCustomersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">VTSI:GovernmentCustomersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_CommercialCustomersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">VTSI:CommercialCustomersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_InternationalCustomersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">VTSI:InternationalCustomersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_GovernmentCustomersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">VTSI:GovernmentCustomersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_CommercialCustomersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">VTSI:CommercialCustomersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_InternationalCustomersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">VTSI:InternationalCustomersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_DeferredRevenueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">VTSI:DeferredRevenueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_DeferredRevenueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">VTSI:DeferredRevenueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_WarrantyMember_custom_OneYearOrLessMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">VTSI:WarrantyMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">VTSI:OneYearOrLessMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_WarrantyMember_custom_OneYearOrLessMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">VTSI:WarrantyMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">VTSI:OneYearOrLessMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_WarrantyMember_custom_LongerThanOneYearMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">VTSI:WarrantyMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">VTSI:LongerThanOneYearMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_WarrantyMember_custom_LongerThanOneYearMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">VTSI:WarrantyMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">VTSI:LongerThanOneYearMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_WarrantyMember_custom_OneYearMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">VTSI:WarrantyMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">VTSI:OneYearMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_WarrantyMember_custom_OneYearMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">VTSI:WarrantyMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">VTSI:OneYearMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_us-gaap_RevenueFromContractWithCustomerProductAndServiceBenchmarkMember_us-gaap_CustomerConcentrationRiskMember_custom_NoCommercialCustomerMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">VTSI:NoCommercialCustomerMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-06-30_us-gaap_RevenueFromContractWithCustomerProductAndServiceBenchmarkMember_us-gaap_CustomerConcentrationRiskMember_custom_OneFederalAgencyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">VTSI:OneFederalAgencyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_OneStateAgencyMember_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_OneCommercialCustomerMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">VTSI:OneStateAgencyMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">VTSI:OneCommercialCustomerMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_custom_OneStateAgencyMember_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">VTSI:OneStateAgencyMember</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>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_SparePartsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">VTSI:SparePartsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_SparePartsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">VTSI:SparePartsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_us-gaap_LandMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_LandMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_us-gaap_BuildingAndBuildingImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_BuildingAndBuildingImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_us-gaap_ComputerEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_ComputerEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_FurnitureAndOfficeEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">VTSI:FurnitureAndOfficeEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_FurnitureAndOfficeEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">VTSI:FurnitureAndOfficeEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_us-gaap_MachineryAndEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_MachineryAndEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_STEPEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">VTSI:STEPEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_STEPEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">VTSI:STEPEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_us-gaap_LeaseholdImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_LeaseholdImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_us-gaap_ConstructionInProgressMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_ConstructionInProgressMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_us-gaap_PatentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_PatentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_CapitalizedMediaContentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">VTSI:CapitalizedMediaContentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_CapitalizedMediaContentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">VTSI:CapitalizedMediaContentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_AcquiredLeaseIntangibleAssetsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">VTSI:AcquiredLeaseIntangibleAssetsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_AcquiredLeaseIntangibleAssetsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">VTSI:AcquiredLeaseIntangibleAssetsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-08-252021-08-25_custom_PropertyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">VTSI:PropertyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-08-25</xbrli:startDate>
        <xbrli:endDate>2021-08-25</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-08-252021-08-25_custom_ArizonaBankAndTrustMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">VTSI:ArizonaBankAndTrustMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-08-25</xbrli:startDate>
        <xbrli:endDate>2021-08-25</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-08-252021-08-25_custom_ArizonaBankAndTrustMember_custom_OneHundredAndNineteenRegularMonthlyPaymentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">VTSI:ArizonaBankAndTrustMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">VTSI:OneHundredAndNineteenRegularMonthlyPaymentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-08-25</xbrli:startDate>
        <xbrli:endDate>2021-08-25</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-08-252021-08-25_custom_ArizonaBankAndTrustMember_custom_OneIrregularPaymentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">VTSI:ArizonaBankAndTrustMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">VTSI:OneIrregularPaymentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-08-25</xbrli:startDate>
        <xbrli:endDate>2021-08-25</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_NotesPayableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">VTSI:NotesPayableMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_NotesPayableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">VTSI:NotesPayableMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_NotesPayableMember36707812">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">VTSI:NotesPayableMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_NotesPayableMember36707828">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">VTSI:NotesPayableMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_ChiefExecutiveOfficerAndChiefOperatingOfficerMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:ChiefExecutiveOfficerAndChiefOperatingOfficerMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_BoardMember_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:BoardMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_us-gaap_CommonStockMember_custom_BoardMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:BoardMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-06-30_custom_ChiefExecutiveOfficerAndChiefOperatingOfficerMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:ChiefExecutiveOfficerAndChiefOperatingOfficerMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-06-30_custom_BoardMember_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:BoardMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-08-31_custom_CoChiefExecutiveOfficerMember_us-gaap_RestrictedStockUnitsRSUMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:CoChiefExecutiveOfficerMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-08-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-08-31_srt_ChiefOperatingOfficerMember_us-gaap_RestrictedStockUnitsRSUMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefOperatingOfficerMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-08-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-04-30_custom_CoChiefExecutiveOfficerMember_us-gaap_RestrictedStockUnitsRSUMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:CoChiefExecutiveOfficerMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-04-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_us-gaap_RestrictedStockUnitsRSUMember_custom_JuneThirtyTwoThousandAndTwentyTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">VTSI:JuneThirtyTwoThousandAndTwentyTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_us-gaap_RestrictedStockUnitsRSUMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_us-gaap_DeferredProfitSharingMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis">us-gaap:DeferredProfitSharingMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-06-30_us-gaap_DeferredProfitSharingMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis">us-gaap:DeferredProfitSharingMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-03-31_us-gaap_DeferredProfitSharingMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis">us-gaap:DeferredProfitSharingMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-03-31_us-gaap_DeferredProfitSharingMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis">us-gaap:DeferredProfitSharingMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2016-10-242016-10-25_us-gaap_CommonStockMember_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2016-10-24</xbrli:startDate>
        <xbrli:endDate>2016-10-25</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2019-01-082019-01-09_us-gaap_CommonStockMember_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2019-01-08</xbrli:startDate>
        <xbrli:endDate>2019-01-09</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_TwoThousandAndSeventeenEquityIncentivePlanMember_custom_ChiefExecutiveOfficerOneMember_us-gaap_RestrictedStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">VTSI:TwoThousandAndSeventeenEquityIncentivePlanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:ChiefExecutiveOfficerOneMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_TwoThousandAndSeventeenEquityIncentivePlanMember_custom_ChiefExecutiveOfficerTwoMember_us-gaap_RestrictedStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">VTSI:TwoThousandAndSeventeenEquityIncentivePlanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:ChiefExecutiveOfficerTwoMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_TwoThousandAndSeventeenEquityIncentivePlanMember_srt_ChiefOperatingOfficerMember_us-gaap_RestrictedStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">VTSI:TwoThousandAndSeventeenEquityIncentivePlanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefOperatingOfficerMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_TwoThousandAndSeventeenEquityIncentivePlanMember_custom_ChiefExecutiveOfficerOneMember_us-gaap_RestrictedStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">VTSI:TwoThousandAndSeventeenEquityIncentivePlanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:ChiefExecutiveOfficerOneMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_TwoThousandAndSeventeenEquityIncentivePlanMember_srt_ChiefOperatingOfficerMember_us-gaap_RestrictedStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">VTSI:TwoThousandAndSeventeenEquityIncentivePlanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefOperatingOfficerMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-102022-04-11_custom_Mr.GivensMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:Mr.GivensMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-10</xbrli:startDate>
        <xbrli:endDate>2022-04-11</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-04-11_custom_Mr.GivensMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:Mr.GivensMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-04-11</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-102022-04-11_custom_EquityIncentivePlanMember_custom_Mr.GivensMember_us-gaap_RestrictedStockUnitsRSUMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">VTSI:EquityIncentivePlanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:Mr.GivensMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-10</xbrli:startDate>
        <xbrli:endDate>2022-04-11</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-03-312021-03-31_custom_SecuritiesPurchaseAgreementMember_custom_InstitutionalInvestorsMember_custom_RegisteredDirectorOfferingMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">VTSI:SecuritiesPurchaseAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:InstitutionalInvestorsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">VTSI:RegisteredDirectorOfferingMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-03-31</xbrli:startDate>
        <xbrli:endDate>2021-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-03-31_custom_SecuritiesPurchaseAgreementMember_custom_InstitutionalInvestorsMember_custom_RegisteredDirectorOfferingMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">VTSI:SecuritiesPurchaseAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:InstitutionalInvestorsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">VTSI:RegisteredDirectorOfferingMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-03-312021-03-31_custom_PlacementAgencyAgreementMember_custom_RothCapitalPartnersLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">VTSI:PlacementAgencyAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">VTSI:RothCapitalPartnersLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-03-31</xbrli:startDate>
        <xbrli:endDate>2021-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-03-312021-03-31_custom_PlacementAgencyAgreementMember_custom_RothCapitalPartnersLLCMember_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">VTSI:PlacementAgencyAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">VTSI:RothCapitalPartnersLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-03-31</xbrli:startDate>
        <xbrli:endDate>2021-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-04-042021-04-05_custom_OfferingMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">VTSI:OfferingMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-04-04</xbrli:startDate>
        <xbrli:endDate>2021-04-05</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_NonQualifiedStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">VTSI:NonQualifiedStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_custom_NonQualifiedStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">VTSI:NonQualifiedStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_NonQualifiedStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">VTSI:NonQualifiedStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-06-30_custom_NonQualifiedStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">VTSI:NonQualifiedStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_NonQualifiedStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">VTSI:NonQualifiedStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-06-30_custom_NonQualifiedStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001085243</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">VTSI:NonQualifiedStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-06-30</xbrli:instant>
      </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: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"></p>

<!-- Field: Rule-Page --><div style="margin-top: 0pt; margin-bottom: 0pt; width: 100%"><div style="border-top: Black 4pt solid; font-size: 1pt; border-bottom: Black 1.5pt solid">&#160;</div></div><!-- Field: /Rule-Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt"><b>UNITED
STATES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt"><b>SECURITIES
AND EXCHANGE COMMISSION</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 12pt"><b>Washington,
D.C. 20549</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt"><b>FORM
<span id="xdx_901_edei--DocumentType_c20220101__20220630_zWScQtKfunji"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" name="dei:DocumentType">10-Q</ix:nonNumeric></span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 4%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90A_edei--DocumentQuarterlyReport_c20220101__20220630_zWtcsGIWnEwc"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" format="ixt:booleantrue" name="dei:DocumentQuarterlyReport">&#9746;</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 96%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">QUARTERLY
    REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the quarterly period ended <span style="text-decoration: underline"><span id="xdx_901_edei--DocumentPeriodEndDate_c20220101__20220630_zjEJHNAtZ5l6"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" format="ixt:datemonthdayyearen" name="dei:DocumentPeriodEndDate">June 30, <span id="xdx_900_edei--DocumentFiscalYearFocus_c20220101__20220630_z3hOY34eGN78"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" name="dei:DocumentFiscalYearFocus">2022</ix:nonNumeric></span></ix:nonNumeric></span></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 4%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_901_edei--DocumentTransitionReport_c20220101__20220630_zpYAXcKifKX6"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" format="ixt:booleanfalse" name="dei:DocumentTransitionReport">&#9744;</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 96%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">TRANSITION
    REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the transition period from _____________ to ______________</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Commission
file number: <span id="xdx_909_edei--EntityFileNumber_c20220101__20220630_znJWS8vSywn6"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" name="dei:EntityFileNumber">001-38420</ix:nonNumeric></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt"><b><span id="xdx_90B_edei--EntityRegistrantName_c20220101__20220630_zNcf6x33GKv3"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" name="dei:EntityRegistrantName">VIRTRA,
INC.</ix:nonNumeric></span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Exact
name of registrant as specified in its charter)</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_90E_edei--EntityIncorporationStateCountryCode_c20220101__20220630_zMKPS2ncGWT4"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" format="ixt-sec:stateprovnameen" name="dei:EntityIncorporationStateCountryCode">Nevada</ix:nonNumeric></span></b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_90E_edei--EntityTaxIdentificationNumber_c20220101__20220630_zuFBqeeulWm3"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" name="dei:EntityTaxIdentificationNumber">93-1207631</ix:nonNumeric></span></b></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(State
    or other jurisdiction</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(I.R.S.
    Employer</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">of
    incorporation or organization)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Identification
    No.)</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_90C_edei--EntityAddressAddressLine1_c20220101__20220630_zw08hvEHNLP2"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" name="dei:EntityAddressAddressLine1">295
    E. Corporate Place</ix:nonNumeric></span>, <span id="xdx_90B_edei--EntityAddressCityOrTown_c20220101__20220630_zOZuzbiofYQb"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" name="dei:EntityAddressCityOrTown">Chandler</ix:nonNumeric></span>, <span id="xdx_905_edei--EntityAddressStateOrProvince_c20220101__20220630_zyt7OUgnQ6C2"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" name="dei:EntityAddressStateOrProvince">AZ</ix:nonNumeric></span></b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_901_edei--EntityAddressPostalZipCode_c20220101__20220630_z2gAuPBD9ec5"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" name="dei:EntityAddressPostalZipCode">85225</ix:nonNumeric></span></b></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Address
    of principal executive offices)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Zip
    Code)</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Registrant&#8217;s
telephone number, including area code: <b><span style="text-decoration: underline"><span id="xdx_904_edei--CityAreaCode_c20220101__20220630_zLyOW2Ns1Va4"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" name="dei:CityAreaCode">(480)</ix:nonNumeric></span> <span id="xdx_904_edei--LocalPhoneNumber_c20220101__20220630_zJOxNBKtoNEl"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" name="dei:LocalPhoneNumber">968-1488</ix:nonNumeric></span></span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>N/A</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Former
name, former address and former fiscal year, if changed since last report)</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Securities
registered pursuant to Section 12(b) of the Act:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 32%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Title
    of each class</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 18%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Trading
    Symbol(s)</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 46%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Name
    of each exchange on which registered</b></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_edei--Security12bTitle_c20220101__20220630_zjcv4uD4s4Rk"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" name="dei:Security12bTitle">Common
    Stock, $0.0001 par value</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_905_edei--TradingSymbol_c20220101__20220630_zHtneD1oiCNj"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" name="dei:TradingSymbol">VTSI</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90E_edei--SecurityExchangeName_c20220101__20220630_z96leG3lSMNf"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" format="ixt-sec:exchnameen" name="dei:SecurityExchangeName">Nasdaq</ix:nonNumeric></span>
    Capital Market</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange
Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2)
has been subject to such filing requirements for the past 90 days. <span id="xdx_907_edei--EntityCurrentReportingStatus_c20220101__20220630_zpUW9U20SWVe"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" name="dei:EntityCurrentReportingStatus">Yes</ix:nonNumeric></span> &#9746;  No &#9744;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule
405 of Regulation S-T (&#167; 232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant
was required to submit such files). <span id="xdx_902_edei--EntityInteractiveDataCurrent_c20220101__20220630_zcZTh9GPqyd4"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" name="dei:EntityInteractiveDataCurrent">Yes</ix:nonNumeric></span> &#9746;  No &#9744;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 42%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Large
    accelerated filer</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 8%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9744;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 42%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accelerated
    filer</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 8%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9744;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90F_edei--EntityFilerCategory_c20220101__20220630_zu8QU3xlarca"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" format="ixt-sec:entityfilercategoryen" name="dei:EntityFilerCategory">Non-accelerated
    filer</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9746;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Smaller
    reporting company</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_907_edei--EntitySmallBusiness_c20220101__20220630_zFI2EdXPNHx8"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" format="ixt:booleantrue" name="dei:EntitySmallBusiness">&#9746;</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Emerging
    growth company</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_903_edei--EntityEmergingGrowthCompany_c20220101__20220630_ztOOgPK01l08"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" format="ixt:booleantrue" name="dei:EntityEmergingGrowthCompany">&#9746;</ix:nonNumeric></span></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If
an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying
with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. <span id="xdx_90B_edei--EntityExTransitionPeriod_c20220101__20220630_zTqHI8JOIhLa"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" format="ixt:booleantrue" name="dei:EntityExTransitionPeriod">&#9746;</ix:nonNumeric></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Act). Yes &#9744;  <span id="xdx_900_edei--EntityShellCompany_c20220101__20220630_zp61S4Lq45pj"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" format="ixt:booleanfalse" name="dei:EntityShellCompany">No</ix:nonNumeric></span> &#9746;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of August 11, 2022, the registrant had <span id="xdx_908_edei--EntityCommonStockSharesOutstanding_iI_pid_c20220811_zIuCObIagBq8"><ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" contextRef="AsOf2022-08-11" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">10,876,945</ix:nonFraction></span> shares of common stock outstanding.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<!-- Field: Rule-Page --><div style="margin-top: 0pt; margin-bottom: 0pt; width: 100%"><div style="border-top: Black 1.5pt solid; font-size: 1pt; border-bottom: Black 4pt solid">&#160;</div></div><!-- Field: /Rule-Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>VIRTRA,
INC.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>FORM
10-Q</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>TABLE
OF CONTENTS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; width: 0.75in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; width: 0.75in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center; width: 0.5in; vertical-align: bottom"><p style="margin-top: 0; margin-bottom: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>PAGE</b></span></p>
                                                                                <p style="margin-top: 0; margin-bottom: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>NO.</b></span></p></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>PART
    I</b></span></td>
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><a href="#a_1">FINANCIAL INFORMATION</a></b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    1.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><a href="#a_2"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Financial Statements (Unaudited)</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">F-1</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_3">Balance Sheets as of June 30, 2022 and December 31, 2021</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">F-1</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_4">Statements of Operations for the Three and Six Months ended June 30, 2022 and 2021</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">F-2</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_5">Statements of Changes in Stockholders&#8217; Equity for the Three and Six Months Ended June 30, 2022 and 2021</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">F-3</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_6">Statements of Cash Flows for the Six Months Ended June 30, 2022 and 2021</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">F-4</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_7">Notes to the Unaudited Financial Statements</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">F-5</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    2.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_8">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    3.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_9">Quantitative and Qualitative Disclosures About Market Risk</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">8</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    4.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_10">Controls and Procedures</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">8</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>PART
    II</b></span></td>
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><a href="#a_11">OTHER INFORMATION</a></b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    1.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_12">Legal Proceedings</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">9</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    1A.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_13">Risk Factors</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">9</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    2.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_14">Unregistered Sales of Equity Securities and Use of Proceeds</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">9</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    3.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_15">Defaults Upon Senior Securities</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">9</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    4.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_16">Mine Safety Disclosures</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">9</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    5.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_17">Other Information</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">9</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    6.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_18">Exhibits</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">9</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_19">SIGNATURES</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 2; Options: NewSection; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_1"></span>PART
I: FINANCIAL INFORMATION</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_2"></span>ITEM
1. FINANCIAL STATEMENTS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>VIRTRA,
INC.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_3"></span>BALANCE
SHEETS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" id="xdx_306_111_zNZR70SslRdf" summary="xdx: Statement - Balance Sheets" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_49C_20220630_zQwhuyOB1Jr5" 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_494_20211231_zcLPuahtpcj5" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">(Unaudited)</td><td style="font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--AssetsAbstract_iB_zjBKQGM9TLzj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: center; font-weight: bold">ASSETS</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: 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--AssetsCurrentAbstract_i01B_z6guH7MhUqE9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Current assets:</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--CashAndCashEquivalentsAtCarryingValue_i02I_pp0p0_maACzBa4_zo6t0JNpkjZ4" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 60%; 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: 15%; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">15,016,233</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">$</td><td style="width: 17%; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">19,708,565</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AccountsReceivableNetCurrent_i02I_pp0p0_maACzBa4_zeLWKjfoceue" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Accounts receivable, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,388,087</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:AccountsReceivableNetCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,896,739</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--InventoryNet_i02I_pp0p0_maACzBa4_zG2GJvUeblUi" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Inventory, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,831,786</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:InventoryNet" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,014,924</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--UnbilledReceivablesCurrent_i02I_pp0p0_maACzBa4_z8v6n0A3Urgj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Unbilled revenue</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:UnbilledReceivablesCurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,820,051</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:UnbilledReceivablesCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,946,446</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--PrepaidExpenseAndOtherAssetsCurrent_i02I_pp0p0_maACzBa4_zlmHfK33nIbg" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; padding-left: 10pt; text-align: left">Prepaid expenses and other current assets</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">848,759</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">940,887</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--AssetsCurrent_i02TI_pp0p0_mtACzBa4_maAzZrj_zgtjVt0uVf0d" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; padding-left: 10pt; font-weight: bold; text-align: left">Total current assets</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">35,904,916</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">33,507,561</ix:nonFraction></td><td style="padding-bottom: 1.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_40B_eus-gaap--AssetsNoncurrentAbstract_i01B_zQJyhenQRvpe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Long-term assets:</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_40E_eus-gaap--PropertyPlantAndEquipmentNet_i02I_pp0p0_maANzhB2_zRIueeVDYrY1" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Property and equipment, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">14,185,424</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:PropertyPlantAndEquipmentNet" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">12,864,766</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--OperatingLeaseRightOfUseAsset_i02I_pp0p0_maANzhB2_z2Z7Rqat4VW2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Operating lease right-of-use asset, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">623,648</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:OperatingLeaseRightOfUseAsset" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">784,306</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--IntangibleAssetsNetExcludingGoodwill_i02I_pp0p0_maANzhB2_z1edjUOb4Am9" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Intangible assets, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">579,963</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:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">535,079</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--DepositsAssetsNoncurrent_i02I_pp0p0_maANzhB2_zwyhYLtOvmI3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Security deposits, long-term</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepositsAssetsNoncurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">35,691</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:DepositsAssetsNoncurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">19,712</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--OtherAssetsNoncurrent_i02I_pp0p0_maANzhB2_zqAVOJ5atcth" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Other assets, long-term</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherAssetsNoncurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">376,461</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:OtherAssetsNoncurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">189,734</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--DeferredIncomeTaxAssetsNet_i02I_pp0p0_maANzhB2_zVNSxwYWFHT4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; padding-left: 10pt; text-align: left">Deferred tax asset, net</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,418,723</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,674,234</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--AssetsNoncurrent_i02TI_pp0p0_mtANzhB2_maAzZrj_zB4pwS8sp6Xb" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; padding-left: 10pt; font-weight: bold; text-align: left">Total long-term assets</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AssetsNoncurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">17,219,910</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AssetsNoncurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">16,067,831</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,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_40F_eus-gaap--Assets_i01TI_pp0p0_mtAzZrj_z8mco4m4TEjj" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total assets</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:Assets" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">53,124,826</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:Assets" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">49,575,392</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,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--LiabilitiesAndStockholdersEquityAbstract_iB_zmEMvVs2UDdg" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: center">LIABILITIES AND STOCKHOLDERS&#8217; EQUITY</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(204,238,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--LiabilitiesCurrentAbstract_i01B_zXboEIQnkgb4" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Current liabilities:</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--AccountsPayableCurrent_i02I_pp0p0_maLCzr8s_zsyrGb5zFcee" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Accounts payable</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,458,968</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">789,394</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--EmployeeRelatedLiabilitiesCurrent_i02I_pp0p0_maLCzr8s_zER9vwyHQzqg" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Accrued compensation and related costs</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EmployeeRelatedLiabilitiesCurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,229,404</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:EmployeeRelatedLiabilitiesCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,062,078</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--AccountsPayableAndOtherAccruedLiabilitiesCurrent_i02I_pp0p0_maLCzr8s_z6bJ9tq9nNli" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Accrued expenses and other current liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,270,086</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:AccountsPayableAndOtherAccruedLiabilitiesCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">991,744</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--NotesPayableCurrent_i02I_pp0p0_maLCzr8s_zUb4rlCbilI8" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Note payable, current</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NotesPayableCurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">233,673</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:NotesPayableCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">236,291</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--OperatingLeaseLiabilityCurrent_i02I_pp0p0_maLCzr8s_zFxDE09ZYUpb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Operating lease liability, short-term</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">361,403</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:OperatingLeaseLiabilityCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">347,772</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--ContractWithCustomerLiabilityCurrent_i02I_pp0p0_maLCzr8s_zL7T3pzoS754" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; padding-left: 10pt; text-align: left">Deferred revenue, short-term</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,373,173</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,135,565</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LiabilitiesCurrent_i02TI_pp0p0_mtLCzr8s_maLzJBn_zPTA3we0vuW" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; padding-left: 10pt; font-weight: bold; text-align: left">Total current liabilities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,926,707</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,562,844</ix:nonFraction></td><td style="padding-bottom: 1.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_40F_eus-gaap--LiabilitiesNoncurrentAbstract_i01B_zLMlTFlSyu2c" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Long-term liabilities:</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--ContractWithCustomerLiabilityNoncurrent_i02I_pp0p0_maLNzFON_znJce4YaPq1c" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Deferred revenue, long-term</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityNoncurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,679,248</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:ContractWithCustomerLiabilityNoncurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,992,625</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--LongTermNotesPayable_i02I_pp0p0_maLNzFON_zLlssBA2j7Re" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Note payable, long-term</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermNotesPayable" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,165,838</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:LongTermNotesPayable" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,280,395</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--OperatingLeaseLiabilityNoncurrent_i02I_pp0p0_maLNzFON_zEm0n3WZ7146" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Operating lease liability, long-term</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">321,217</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:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">505,383</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--OtherLiabilitiesNoncurrent_i02I_pp0p0_maLNzFON_z3kzeHu2wfI8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; padding-left: 10pt; text-align: left">Other long-term liabilities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherLiabilitiesNoncurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,436</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherLiabilitiesNoncurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,436</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--LiabilitiesNoncurrent_i02TI_pp0p0_mtLNzFON_maLzJBn_z6kU9IpLYDsj" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; padding-left: 10pt; font-weight: bold; text-align: left">Total long-term liabilities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesNoncurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">11,171,739</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesNoncurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">10,783,839</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,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_40E_eus-gaap--Liabilities_i01TI_pp0p0_mtLzJBn_maLASEzsXV_znxV0O6Z0z95" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; font-weight: bold; text-align: left">Total liabilities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:Liabilities" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">20,098,446</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:Liabilities" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">18,346,683</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,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_406_eus-gaap--CommitmentsAndContingencies_i01I_pp0p0_maLASEzsXV_zDN4prK0UTwb" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Commitments and contingencies (See Note 9)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl0138">-</span></span></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(204,238,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--StockholdersEquityAbstract_i01B_zaMjQOreKYDg" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Stockholders&#8217; equity:</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--PreferredStockValue_i02I_pp0p0_maSEz6RG_zGUdbagQiKa2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Preferred stock $<span id="xdx_90E_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_pid_c20220630_zemOZmjs301g" title="Preferred stock, par value"><span id="xdx_90D_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_pid_c20211231_zf2C9cbGTl5g" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.0001</ix:nonFraction></ix:nonFraction></span></span> par value; <span id="xdx_90E_eus-gaap--PreferredStockSharesAuthorized_iI_pid_c20220630_zDPlgotAL3uc" title="Preferred stock, shares authorized"><span id="xdx_90A_eus-gaap--PreferredStockSharesAuthorized_iI_pid_c20211231_z1b4VFBeFDKi" title="Preferred stock, shares authorized"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">2,500,000</ix:nonFraction></ix:nonFraction></span></span> authorized; <span id="xdx_90B_eus-gaap--PreferredStockSharesIssued_iI_do_c20220630_zlUn16vVSSx3" title="Preferred stock, shares issued"><span id="xdx_904_eus-gaap--PreferredStockSharesOutstanding_iI_do_c20220630_ze0Q7T8XbKTe" title="Preferred stock, shares outstanding"><span id="xdx_901_eus-gaap--PreferredStockSharesIssued_iI_do_c20211231_zBKCXq8cnhrf" title="Preferred stock, shares issued"><span id="xdx_900_eus-gaap--PreferredStockSharesOutstanding_iI_do_c20211231_zltn4SqYulg5" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2022-06-30" format="ixt-sec:numwordsen" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2022-06-30" format="ixt-sec:numwordsen" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2021-12-31" format="ixt-sec:numwordsen" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2021-12-31" format="ixt-sec:numwordsen" decimals="INF" unitRef="Shares">no</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></span></span></span></span> shares issued or outstanding</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0144">-</span></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: xdx2ixbrl0145">-</span></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_402_eus-gaap--CommonStockValue_i02I_pp0p0_zShBdA6N2E5i" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Common stock $<span id="xdx_90B_eus-gaap--CommonStockParOrStatedValuePerShare_iI_pid_c20220630_zhJwOAzt9ZP7" title="Common stock, par value"><span id="xdx_90F_eus-gaap--CommonStockParOrStatedValuePerShare_iI_pid_c20211231_zo0aVAH0nK2d" title="Common stock, par value"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.0001</ix:nonFraction></ix:nonFraction></span></span> par value; <span id="xdx_90F_eus-gaap--CommonStockSharesAuthorized_iI_pid_c20220630_zdGpRWkzccD2" title="Common stock, shares authorized"><span id="xdx_90A_eus-gaap--CommonStockSharesAuthorized_iI_pid_c20211231_z4q5WJbGOngh" title="Common stock, shares authorized"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">50,000,000</ix:nonFraction></ix:nonFraction></span></span> shares authorized; <span id="xdx_90C_eus-gaap--CommonStockSharesIssued_iI_pid_c20220630_zzowHkkp7Sc4" title="Common stock, shares issued"><span id="xdx_907_eus-gaap--CommonStockSharesOutstanding_iI_pid_c20220630_zSX6eUkgQ8xl" title="Common stock, shares outstanding"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">10,876,945</ix:nonFraction></ix:nonFraction></span></span> shares issued and outstanding as of June 30, 2022 and <span id="xdx_907_eus-gaap--CommonStockSharesIssued_iI_pid_c20211231_zvilRSmiv7qe" title="Common stock, shares issued"><span id="xdx_90D_eus-gaap--CommonStockSharesOutstanding_iI_pid_c20211231_z0hv9I9WeGwc" title="Common stock, shares outstanding"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">10,807,130</ix:nonFraction></ix:nonFraction></span></span> shares issued and outstanding as of December 31, 2021</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,087</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:CommonStockValue" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,081</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--CommonStockValue_i02I_pp0p0_hus-gaap--StatementClassOfStockAxis__us-gaap--CommonClassAMember_zXe8hxNxDJg" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Class A common stock $<span id="xdx_90A_eus-gaap--CommonStockParOrStatedValuePerShare_iI_pid_c20220630__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassAMember_zgmFREvlviee" title="Common stock, par value"><span id="xdx_90C_eus-gaap--CommonStockParOrStatedValuePerShare_iI_pid_c20211231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassAMember_zoPxptoD04q5" title="Common stock, par value"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2022-06-30_us-gaap_CommonClassAMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2021-12-31_us-gaap_CommonClassAMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.0001</ix:nonFraction></ix:nonFraction></span></span> par value; <span id="xdx_900_eus-gaap--CommonStockSharesAuthorized_iI_pid_c20220630__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassAMember_zSjgth715gR1" title="Common stock, shares authorized"><span id="xdx_906_eus-gaap--CommonStockSharesAuthorized_iI_pid_c20211231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassAMember_zRPyIJCWGC2j" title="Common stock, shares authorized"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2022-06-30_us-gaap_CommonClassAMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2021-12-31_us-gaap_CommonClassAMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">2,500,000</ix:nonFraction></ix:nonFraction></span></span> shares authorized; <span id="xdx_908_eus-gaap--CommonStockSharesIssued_iI_do_c20220630__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassAMember_zMMQxYRdrtIb" title="Common stock, shares issued"><span id="xdx_907_eus-gaap--CommonStockSharesOutstanding_iI_do_c20220630__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassAMember_zUNMeRWJpT51" title="Common stock, shares outstanding"><span id="xdx_90C_eus-gaap--CommonStockSharesIssued_iI_do_c20211231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassAMember_znZlO9lzK3ci" title="Common stock, shares issued"><span id="xdx_90E_eus-gaap--CommonStockSharesOutstanding_iI_do_c20211231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassAMember_z18uqidf7T87" title="Common stock, shares outstanding"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2022-06-30_us-gaap_CommonClassAMember" format="ixt-sec:numwordsen" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2022-06-30_us-gaap_CommonClassAMember" format="ixt-sec:numwordsen" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2021-12-31_us-gaap_CommonClassAMember" format="ixt-sec:numwordsen" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2021-12-31_us-gaap_CommonClassAMember" format="ixt-sec:numwordsen" decimals="INF" unitRef="Shares">no</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></span></span></span></span> shares issued or outstanding</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0182">-</span></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: xdx2ixbrl0183">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--CommonStockValue_i02I_pp0p0_hus-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember_zNWBVJ3lsf1b" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Class B common stock $<span id="xdx_907_eus-gaap--CommonStockParOrStatedValuePerShare_iI_do_c20220630__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember_zYmpRF8cXaSk" title="Common stock, par value"><span id="xdx_90F_eus-gaap--CommonStockParOrStatedValuePerShare_iI_do_c20211231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember_zNC4ezEZC5la" title="Common stock, par value"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2022-06-30_us-gaap_CommonClassBMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2021-12-31_us-gaap_CommonClassBMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.0001</ix:nonFraction></ix:nonFraction></span></span> par value; <span id="xdx_908_eus-gaap--CommonStockSharesAuthorized_iI_pid_c20220630__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember_zKaTQg6b0nYi" title="Common stock, shares authorized"><span id="xdx_905_eus-gaap--CommonStockSharesAuthorized_iI_pid_c20211231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember_zHZVd2Zn9rTd" title="Common stock, shares authorized"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2022-06-30_us-gaap_CommonClassBMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2021-12-31_us-gaap_CommonClassBMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,500,000</ix:nonFraction></ix:nonFraction></span></span> shares authorized; <span id="xdx_909_eus-gaap--CommonStockSharesIssued_iI_do_c20220630__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember_zMGAn8HdpAje" title="Common stock, shares issued"><span id="xdx_90A_eus-gaap--CommonStockSharesOutstanding_iI_do_c20220630__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember_zHTU7BRp74X3" title="Common stock, shares outstanding"><span id="xdx_903_eus-gaap--CommonStockSharesIssued_iI_do_c20211231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember_zfFB56P4XpS5" title="Common stock, shares issued"><span id="xdx_905_eus-gaap--CommonStockSharesOutstanding_iI_do_c20211231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember_zsC0NsczHure" title="Common stock, shares outstanding"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2022-06-30_us-gaap_CommonClassBMember" format="ixt-sec:numwordsen" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2022-06-30_us-gaap_CommonClassBMember" format="ixt-sec:numwordsen" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2021-12-31_us-gaap_CommonClassBMember" format="ixt-sec:numwordsen" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2021-12-31_us-gaap_CommonClassBMember" format="ixt-sec:numwordsen" decimals="INF" unitRef="Shares">no</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></span></span></span></span> shares issued or outstanding</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0201">-</span></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: xdx2ixbrl0202">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--CommonStockValue_i02I_pp0p0_maSEz6RG_zg46pawY8gH3" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Common stock, value</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,087</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:CommonStockValue" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,081</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--AdditionalPaidInCapital_i02I_pp0p0_maSEz6RG_zeaAZvnw1ZNb" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Additional paid-in capital</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AdditionalPaidInCapital" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">31,356,608</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:AdditionalPaidInCapital" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">30,923,391</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--RetainedEarningsAccumulatedDeficit_i02I_pp0p0_maSEz6RG_zUHR1WfsOaOl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Retained earnings</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,668,685</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">304,237</ix:nonFraction></td><td style="padding-bottom: 1.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_40E_eus-gaap--StockholdersEquity_i02TI_pp0p0_mtSEz6RG_maLASEzsXV_z7cNSaIor8W7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; font-weight: bold; text-align: left">Total stockholders&#8217; equity</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">33,026,380</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">31,228,709</ix:nonFraction></td><td style="padding-bottom: 1.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_406_eus-gaap--LiabilitiesAndStockholdersEquity_i01TI_pp0p0_mtLASEzsXV_zzxFEGsg2Vri" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">Total liabilities and stockholders&#8217; equity</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:LiabilitiesAndStockholdersEquity" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">53,124,826</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:LiabilitiesAndStockholdersEquity" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">49,575,392</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
accompanying notes to unaudited financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 3; Options: NewSection; Value: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->1<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_4"></span>VIRTRA,
INC.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>STATEMENTS
OF OPERATIONS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(Unaudited)</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" id="xdx_302_113_z33bxIVuFCO" summary="xdx: Statement - Statements of Operations (Unaudited)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_490_20220401__20220630_zxuaxM73Vfxh" 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_49B_20210401__20210630_zWYqcFeD1Cz7" 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_49E_20220101__20220630_z2SJbsrB6jw6" 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_49C_20210101__20210630_zoC4AnPtdoe6" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center">Three Months Ended</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center">Six Months Ended</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2021</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2021</td><td style="padding-bottom: 1.5pt">&#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><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_40F_eus-gaap--RevenuesAbstract_iB" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Revenues:</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_400_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_i01_hsrt--ProductOrServiceAxis__custom--NetSalesMember_zS1B2IMYG0Ih" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; padding-left: 10pt; width: 32%; text-align: left">Net sales</td><td style="padding-bottom: 1.5pt; width: 2%">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; width: 13%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-04-012022-06-30_custom_NetSalesMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,997,383</ix:nonFraction></td><td style="padding-bottom: 1.5pt; width: 1%; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; width: 2%">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; width: 13%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2021-04-012021-06-30_custom_NetSalesMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,255,192</ix:nonFraction></td><td style="padding-bottom: 1.5pt; width: 1%; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; width: 2%">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; width: 13%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-06-30_custom_NetSalesMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">14,750,611</ix:nonFraction></td><td style="padding-bottom: 1.5pt; width: 1%; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; width: 2%">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; width: 13%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2021-01-012021-06-30_custom_NetSalesMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,697,101</ix:nonFraction></td><td style="padding-bottom: 1.5pt; width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_i01_pp0p0_maGPzxrl_zLgAcrNQlA1l" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Total revenue</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,997,383</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:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,255,192</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:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">14,750,611</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:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,697,101</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><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--CostOfGoodsAndServicesSold_msGPzxrl_zPPnBeKCMfkb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; padding-left: 10pt">Cost of sales</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,253,651</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,120,492</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,319,789</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,993,896</ix:nonFraction></td><td style="padding-bottom: 1.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><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--GrossProfit_iT_pp0p0_mtGPzxrl_maOILzDqW_zJ70AoQb2NF9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; padding-left: 10pt; text-align: left">Gross profit</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,743,732</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,134,700</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,430,822</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,703,205</ix:nonFraction></td><td style="padding-bottom: 1.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><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--OperatingExpensesAbstract_iB_z9IHIrdIn1N8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="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><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--GeneralAndAdministrativeExpense_i01_pp0p0_maOEzBJJ_z3n2BEH5RRY7" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">General and administrative</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GeneralAndAdministrativeExpense" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,085,051</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:GeneralAndAdministrativeExpense" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,002,612</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:GeneralAndAdministrativeExpense" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,381,443</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:GeneralAndAdministrativeExpense" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,712,845</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--ResearchAndDevelopmentExpense_i01_pp0p0_maOEzBJJ_zdD7jsiKx9je" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; padding-left: 10pt; text-align: left">Research and development</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">617,058</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">311,320</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,296,453</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">605,537</ix:nonFraction></td><td style="padding-bottom: 1.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><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--OperatingExpenses_i01T_pp0p0_mtOEzBJJ_msOILzDqW_z0qtqwSzXLth" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; padding-left: 10pt; text-align: left">Net operating expense</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,702,109</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,313,932</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,677,896</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,318,382</ix:nonFraction></td><td style="padding-bottom: 1.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><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--OperatingIncomeLoss_iT_pp0p0_mtOILzDqW_maILFCOzYmG_zcXRR0AtGAg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; padding-left: 10pt; text-align: left">Income from operations</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,041,623</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">820,768</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,752,926</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,384,823</ix:nonFraction></td><td style="padding-bottom: 1.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><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--OtherNonoperatingIncomeExpenseAbstract_iB_zpTQP9G0tGpl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="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><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--OtherNonoperatingIncome_i01_pp0p0_maNIEzh5e_zjNcVQlN5pRb" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Other income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherNonoperatingIncome" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">57,056</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:OtherNonoperatingIncome" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">34,379</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:OtherNonoperatingIncome" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">111,379</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:OtherNonoperatingIncome" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">50,758</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--OtherNonoperatingExpense_i01N_pp0p0_di_msNIEzh5e_z0zNBAG1Mrye" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; padding-left: 10pt; text-align: left">Other expense</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:OtherNonoperatingExpense" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">64,621</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:OtherNonoperatingExpense" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">32,608</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:OtherNonoperatingExpense" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">129,173</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:OtherNonoperatingExpense" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">35,042</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</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></tr>
  <tr id="xdx_401_eus-gaap--NonoperatingIncomeExpense_i01T_pp0p0_mtNIEzh5e_maILFCOzYmG_zQiVXUcTfSK8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; padding-left: 10pt; text-align: left">Net other income (expense)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">7,565</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,771</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">17,794</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">15,716</ix:nonFraction></td><td style="padding-bottom: 1.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><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--IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_iT_pp0p0_mtILFCOzYmG_maNILzqgQ_zvQuwLgPY675" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Income before provision for income taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,034,058</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:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">822,539</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:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,735,132</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:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,400,539</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><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--IncomeTaxExpenseBenefit_msNILzqgQ_zCGJ7xnSy2Ul" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; padding-left: 10pt; text-align: left">Provision for income taxes</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">246,684</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">293,180</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">370,684</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">216,017</ix:nonFraction></td><td style="padding-bottom: 1.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><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--NetIncomeLoss_iT_pp0p0_mtNILzqgQ_zjTii26wcx8l" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">Net income</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:NetIncomeLoss" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">787,374</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:NetIncomeLoss" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">529,359</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:NetIncomeLoss" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,364,448</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:NetIncomeLoss" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,184,522</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><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--EarningsPerShareAbstract_iB_z4895naczbZ3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Net income per common share:</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_40C_eus-gaap--EarningsPerShareBasic_i01_zyR3Iu4Nl7Zi" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; padding-left: 10pt">Basic</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-04-012022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.07</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="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.05</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-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.13</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="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.13</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--EarningsPerShareDiluted_i01_z4bO9CiTCZ05" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; padding-left: 10pt">Diluted</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-04-012022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.07</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="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.05</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-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.13</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="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.13</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><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_405_eus-gaap--EarningsPerShareBasicOtherDisclosuresAbstract_iB_zIbxcjZseZa4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Weighted average shares outstanding:</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_40F_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_i01_zyzsdhqF0RQ2" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; padding-left: 10pt">Basic</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:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">10,866,775</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:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">10,644,363</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:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">10,837,186</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:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">9,209,808</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_i01_zasufefbeEjj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; padding-left: 10pt">Diluted</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-04-012022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">10,892,302</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="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">10,693,238</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-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">10,867,667</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="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">9,209,509</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
accompanying notes to unaudited financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<!-- Field: Page; Sequence: 4; Value: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><br /><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_5"></span>VIRTRA,
INC.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>STATEMENTS
OF CHANGES IN STOCKHOLDERS&#8217; EQUITY</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(Unaudited)</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" id="xdx_303_114_z9YO5wdsqwZe" summary="xdx: Statement - Statements of Changes in Stockholders&apos; Equity (Unaudited)" style="font: 8pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="font: 8pt Times New Roman, Times, Serif; display: none; vertical-align: bottom; background-color: White">
    <td style="font: 8pt Times New Roman, Times, Serif; padding-left: 10pt; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_4B4_us-gaap--StatementEquityComponentsAxis_us-gaap--PreferredStockMember_zCEbf5FvvZFg" style="font: 8pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_4BF_us-gaap--StatementEquityComponentsAxis_us-gaap--CommonStockMember_zFW1QRLhovr6" style="font: 8pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_4BC_us-gaap--StatementEquityComponentsAxis_us-gaap--AdditionalPaidInCapitalMember_zQoBL7MQmvo1" style="font: 8pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_4B1_us-gaap--StatementEquityComponentsAxis_us-gaap--TreasuryStockMember_z320YLmbj9dk" style="font: 8pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_4BF_us-gaap--StatementEquityComponentsAxis_us-gaap--RetainedEarningsMember_zkKcXSsNvmV8" style="font: 8pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_4B9_zYJKFFwwfR77" style="font: 8pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
<tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="30" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">For the Three Months Ended June 30, 2022</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: center">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">Preferred Stock</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">Common Stock</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; text-align: center">Additional Paid-In</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; text-align: center">Treasury</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; text-align: center">Accumulated</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; text-align: center">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: center">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">Shares</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">Amount</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">Shares</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">Amount</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"> Capital</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">Stock</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">Earnings</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">Total</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr id="xdx_439_c20220401__20220630_eus-gaap--StockholdersEquity_iS_zntQDzxNmq45" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 8pt Times New Roman, Times, Serif; width: 28%">Balance at March 31, 2022</td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--SharesOutstanding_iS_pid_c20220401__20220630__us-gaap--StatementEquityComponentsAxis__us-gaap--PreferredStockMember_zbDXghgCRs" title="Beginning balance, shares" style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0357">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0350">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--SharesOutstanding_iS_c20220401__20220630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zsGCA2XtUSbd" title="Beginning balance, shares" style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-03-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">10,809,630</ix:nonFraction></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-03-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,081</ix:nonFraction></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-03-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">30,957,616</ix:nonFraction></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0353">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-03-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">881,311</ix:nonFraction></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-03-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">31,840,008</ix:nonFraction></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_zdjixL7vM8ol" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 8pt Times New Roman, Times, Serif; padding-left: 10pt; text-align: left">Stock options exercised</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right">-</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0361">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20220401__20220630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zGxFFYjGYR6d" title="Stock options exercised, shares" style="font: 8pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">2,500</ix:nonFraction></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0362">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-04-012022-06-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,750</ix:nonFraction></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0364">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0365">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,750</ix:nonFraction></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_zm4IHfRu1KV6" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 8pt Times New Roman, Times, Serif; padding-left: 10pt; text-align: left">Stock issued for services</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right">-</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0370">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_pid_c20220401__20220630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zAiEbfbp7ZJh" title="Stock issued for services, shares" style="font: 8pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">64,815</ix:nonFraction></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6</ix:nonFraction></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2022-04-012022-06-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">349,995</ix:nonFraction></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0373">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0374">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">350,001</ix:nonFraction></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_ecustom--AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices_zqS6jE1X6lW6" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 8pt Times New Roman, Times, Serif; padding-left: 10pt; text-align: left">Stock reserved for future services</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right">-</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0379">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right">-</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0380">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices" contextRef="From2022-04-012022-06-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">44,247</ix:nonFraction></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0382">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0383">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">44,247</ix:nonFraction></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--NetIncomeLoss_zbXtTMAPpaI2" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; padding-left: 10pt; text-align: left">Net income</td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right">-</td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0386">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right">-</td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0387">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0388">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0389">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-04-012022-06-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">787,374</ix:nonFraction></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">787,374</ix:nonFraction></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_436_c20220401__20220630_eus-gaap--StockholdersEquity_iE_zCgQMIAaiDm6" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">Balance at June 30, 2022</td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--SharesOutstanding_iE_pid_c20220401__20220630__us-gaap--StatementEquityComponentsAxis__us-gaap--PreferredStockMember_zavFX8WZcQq6" title="Ending balance, shares" style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0400">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0393">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--SharesOutstanding_iE_c20220401__20220630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zWzxJO5tnvKb" title="Ending balance, shares" style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">10,876,945</ix:nonFraction></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,087</ix:nonFraction></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-06-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">31,356,608</ix:nonFraction></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0396">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-06-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,668,685</ix:nonFraction></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">33,026,380</ix:nonFraction></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 8pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="30" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">For
    the Six Months Ended June 30, 2022</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Preferred
    Stock</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Common
    Stock</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Additional
    Paid-In</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Treasury</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Accumulated</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Shares</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Amount</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Shares</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Amount</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Capital</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Stock</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Earnings</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Total</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_438_c20220101__20220630_eus-gaap--StockholdersEquity_iS_zqDVmTTBSB9l" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 8pt Times New Roman, Times, Serif; width: 28%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Balance
    at December 31, 2021</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_988_eus-gaap--SharesOutstanding_iS_pid_c20220101__20220630__us-gaap--StatementEquityComponentsAxis__us-gaap--PreferredStockMember_zmKSIY7Pua65" title="Beginning balance, shares" style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0411">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0404">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_985_eus-gaap--SharesOutstanding_iS_c20220101__20220630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zMaTVsSXLEZf" title="Beginning balance, shares" style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2021-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">10,807,130</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,081</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">30,923,391</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0407">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">304,237</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">31,228,709</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_405_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_zIFGrS8mKT78" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 8pt Times New Roman, Times, Serif; padding-left: 10pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Stock
    options exercised</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0415">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_981_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20220101__20220630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zJhycV1nGU9d" title="Stock options exercised, shares" style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2022-01-012022-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,000</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0416">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-01-012022-06-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,725</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0418">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0419">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,725</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_403_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_zI7o8Ij7WsZ4" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 8pt Times New Roman, Times, Serif; padding-left: 10pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Stock
    issued for services</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0424">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_986_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_pid_c20220101__20220630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zR3sZM1vvYlb" title="Stock issued for services, shares" style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" contextRef="From2022-01-012022-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">64,815</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2022-01-012022-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2022-01-012022-06-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">349,995</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0427">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0428">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">350,001</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_405_ecustom--AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices_zAcvkSjTQwsk" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 8pt Times New Roman, Times, Serif; padding-left: 10pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Stock
    reserved for future services</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0433">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0434">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices" contextRef="From2022-01-012022-06-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">70,497</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0436">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0437">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">70,497</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_407_eus-gaap--NetIncomeLoss_zMyFHaApRKrc" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; padding-left: 10pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Net
    income</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0440">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0441">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0442">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0443">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-06-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,364,448</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,364,448</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_432_c20220101__20220630_eus-gaap--StockholdersEquity_iE_z9Gk6y1SfNkg" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Balance
    at June 30, 2022</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_98E_eus-gaap--SharesOutstanding_iE_pid_c20220101__20220630__us-gaap--StatementEquityComponentsAxis__us-gaap--PreferredStockMember_zXesMCLAWg87" title="Ending balance, shares" style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0454">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0447">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_980_eus-gaap--SharesOutstanding_iE_c20220101__20220630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zJ8QY9USCqkj" title="Ending balance, shares" style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">10,876,945</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,087</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-06-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">31,356,608</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0450">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-06-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,668,685</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">33,026,380</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 8pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="30" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">For
    the Three Months Ended June 30, 2021</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Preferred
    Stock</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Common
    Stock</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Additional
    Paid-In</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Treasury</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Accumulated</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Shares</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Amount</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Shares</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Amount</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Capital</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Stock</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Deficit</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Total</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_43A_c20210401__20210630_eus-gaap--StockholdersEquity_iS_zerT6AAJjCul" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 8pt Times New Roman, Times, Serif; width: 28%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Balance
    at March 31, 2021</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_989_eus-gaap--SharesOutstanding_iS_pid_c20210401__20210630__us-gaap--StatementEquityComponentsAxis__us-gaap--PreferredStockMember_zgoWgQASEEVe" title="Beginning balance, shares" style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0465">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0458">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_98E_eus-gaap--SharesOutstanding_iS_c20210401__20210630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zNUkZ6ZW1L75" title="Beginning balance, shares" style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2021-03-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,777,530</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-03-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">778</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-03-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,897,280</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0461">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-03-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,580,689</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-03-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,317,369</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_403_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_zicsXFI4102l" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Stock
    options exercised</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0469">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_988_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20210401__20210630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zkxO3ylY1xpd" title="Stock options exercised, shares" style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2021-04-012021-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">2,500</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0470">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2021-04-012021-06-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,450</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0472">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0473">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,450</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_401_eus-gaap--StockIssuedDuringPeriodValueNewIssues_z0sgSCMdbfIk" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Stock
    issued for cash in offering, net</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0478">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_98E_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pid_c20210401__20210630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zKyC8ffPfPOe" title="Stock issued for cash in offering, net, shares" style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2021-04-012021-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">3,000,000</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2021-04-012021-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">300</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2021-04-012021-06-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,794,700</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0481">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0482">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,795,000</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_401_eus-gaap--NetIncomeLoss_zr8UAkXgP9Z6" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Net
    income</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0487">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0488">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0489">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0490">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-04-012021-06-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">529,359</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">529,359</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_43B_c20210401__20210630_eus-gaap--StockholdersEquity_iE_zvDyIBmwP6tc" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Balance
    at June 30, 2021</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_98E_eus-gaap--SharesOutstanding_iE_pid_c20210401__20210630__us-gaap--StatementEquityComponentsAxis__us-gaap--PreferredStockMember_zfBv4AdMsGU5" title="Ending balance, shares" style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0501">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0494">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_981_eus-gaap--SharesOutstanding_iE_c20210401__20210630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zRXZAlEMa53j" title="Ending balance, shares" style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2021-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">10,780,030</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,078</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-06-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">30,694,430</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0497">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-06-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,051,330</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">29,644,178</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 8pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="30" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">For
    the Six Months Ended June 30, 2021</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Preferred
    Stock</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Common
    Stock</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Additional
    Paid-In</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Treasury</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Accumulated</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Shares</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Amount</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Shares</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Amount</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Capital</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Stock</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Deficit</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Total</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_43E_c20210101__20210630_eus-gaap--StockholdersEquity_iS_zoAoVsY8hjMf" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 8pt Times New Roman, Times, Serif; width: 28%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Balance
    at December 31, 2020</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_988_eus-gaap--SharesOutstanding_iS_pid_c20210101__20210630__us-gaap--StatementEquityComponentsAxis__us-gaap--PreferredStockMember_zLhsmGl334Pd" title="Beginning balance, shares" style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0512">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right">&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0505">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_985_eus-gaap--SharesOutstanding_iS_pid_c20210101__20210630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z8C8mWZ0kvA9" title="Beginning balance, shares" style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2020-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,775,030</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2020-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">778</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2020-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,893,660</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0508">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2020-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,235,852</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,658,586</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_403_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_zm2OyQ1hHbNl" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Stock
    options exercised</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0516">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_983_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20210101__20210630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zCebTU5GgkZa" title="Stock options exercised, shares" style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2021-01-012021-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,000</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0517">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2021-01-012021-06-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,070</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0519">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0520">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,070</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_409_eus-gaap--StockIssuedDuringPeriodValueNewIssues_zJKKtVUcH7y7" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Stock
    issued for cash in offering, net</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0525">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_98F_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pid_c20210101__20210630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zfm9oMc4rPVa" title="Stock issued for cash in offering, net, shares" style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2021-01-012021-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">3,000,000</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2021-01-012021-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">300</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2021-01-012021-06-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,794,700</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0528">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0529">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,795,000</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_40B_eus-gaap--NetIncomeLoss_zxD354LBdXYg" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Net
    loss</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0534">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0535">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0536">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0537">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-01-012021-06-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,184,522</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,184,522</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_40C_eus-gaap--NetIncomeLoss_zjOV51sL0m48" style="font: 8pt Times New Roman, Times, Serif; display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Net
    income (loss)</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0541">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">-</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0542">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0543">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0544">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-01-012021-06-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,184,522</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,184,522</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
<tr id="xdx_434_c20210101__20210630_eus-gaap--StockholdersEquity_iE_ztqHKEnddoXk" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Balance
    at June 30, 2021</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_98B_eus-gaap--SharesOutstanding_iE_pid_c20210101__20210630__us-gaap--StatementEquityComponentsAxis__us-gaap--PreferredStockMember_z4kAzeDbUVWf" title="Ending balance, shares" style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0555">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0548">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_984_eus-gaap--SharesOutstanding_iE_pid_c20210101__20210630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_ziYH6vcIBIfc" title="Ending balance, shares" style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2021-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">10,780,030</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,078</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-06-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">30,694,430</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0551">-</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-06-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,051,330</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">29,644,178</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
accompanying notes to unaudited financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 5; Value: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_6"></span>VIRTRA,
INC.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>STATEMENTS
OF CASH FLOWS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(Unaudited)</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" id="xdx_30D_112_z1hTnHLD8MEi" summary="xdx: Statement - Statements of Cash Flows (Unaudited)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_49B_20220101__20220630_zFXZ8VBnBzT1" 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_49E_20210101__20210630_zHSKXmeqQ0Da" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Six Months Ended June 30,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; 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_40D_eus-gaap--NetCashProvidedByUsedInOperatingActivitiesAbstract_iB_zVVWqWWCjwwc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Cash flows from operating activities:</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--NetIncomeLoss_i01_pp0p0_maNCPBUzjDo_zssNWjw3X8Oe" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 68%; text-align: left">Net income</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:NetIncomeLoss" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,364,448</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">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,184,522</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_i01B_zhx7X8fRvS87" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Adjustments to reconcile net income to net cash (used in) provided by operating activities:</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--DepreciationDepletionAndAmortization_i02_pp0p0_maNCPBUzjDo_zIYIyimC2AE9" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">Depreciation and amortization</td><td>&#160;</td>
    <td style="text-align: left"></td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationDepletionAndAmortization" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">446,688</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:DepreciationDepletionAndAmortization" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">201,156</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_i02_pp0p0_maNCPBUzjDo_zeZD4jyePcz5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Right of use amortization</td><td>&#160;</td>
    <td style="text-align: left"></td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">160,658</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:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">153,299</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--ShareBasedCompensation_i02_pp0p0_maNCPBUzjDo_zuimUZ7224Cl" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">Employee stock compensation</td><td>&#160;</td>
    <td style="text-align: left"><p style="margin: 0"></p></td><td style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">70,497</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: xdx2ixbrl0575">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--IssuanceOfStockAndWarrantsForServicesOrClaims_i02_pp0p0_maNCPBUzjDo_z7XKYjelQrvd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Stock issued for service</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><p style="margin: 0"><ix:nonFraction name="us-gaap:IssuanceOfStockAndWarrantsForServicesOrClaims" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">350,001</ix:nonFraction></p></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><p style="margin: 0"><span style="-sec-ix-hidden: xdx2ixbrl0578">-</span></p></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--IncreaseDecreaseInOperatingCapitalAbstract_i02B_zpBCBY2zsFfl" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Changes in operating assets and liabilities:</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--IncreaseDecreaseInAccountsReceivable_i03N_pp0p0_di_msNCPBUzjDo_zeKKy5UTx4Rb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Accounts receivable, net</td><td>&#160;</td>
    <td style="text-align: left"></td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,491,348</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,136,335</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--IncreaseDecreaseInInventories_i03N_pp0p0_di_msNCPBUzjDo_zKsFQpOgCrme" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">Inventory, net</td><td>&#160;</td>
    <td style="text-align: left"></td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,816,862</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,693,598</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40A_eus-gaap--IncreaseDecreaseInDeferredIncomeTaxes_i03N_pp0p0_di_msNCPBUzjDo_zu9FgYA1z1J5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Deferred taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><p style="margin: 0"><ix:nonFraction name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">255,511</ix:nonFraction></p></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><p style="margin: 0"><ix:nonFraction name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">294,113</ix:nonFraction></p></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--IncreaseDecreaseInDeferredRevenue_i03_pp0p0_maNCPBUzjDo_z23p7ojmcET2" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">Unbilled revenue</td><td>&#160;</td>
    <td style="text-align: left"></td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInDeferredRevenue" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">873,605</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInDeferredRevenue" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,374,667</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_i03N_pp0p0_di_msNCPBUzjDo_zLUWHdOiara1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Prepaid expenses and other current assets</td><td>&#160;</td>
    <td style="text-align: left"></td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">92,128</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:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">353,765</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_400_eus-gaap--IncreaseDecreaseInOtherOperatingAssets_i03N_pp0p0_di_msNCPBUzjDo_zglCtvJfE95i" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">Other assets</td><td>&#160;</td>
    <td style="text-align: left"></td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">186,727</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">21,148</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--IncreaseDecreaseInDepositOtherAssets_i03N_pp0p0_di_msNCPBUzjDo_zk80uhWtrQt2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Security deposits, long-term</td><td>&#160;</td>
    <td style="text-align: left"></td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInDepositOtherAssets" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">15,979</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInDepositOtherAssets" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">66,788</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_i03_pp0p0_maNCPBUzjDo_z1U29F1Zlx63" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">Accounts payable and other accrued expenses</td><td>&#160;</td>
    <td style="text-align: left"></td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,115,242</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:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">933,840</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--IncreaseDecreaseInOperatingLeaseLiability_i03_pp0p0_maNCPBUzjDo_zzPJ9TcsWbyi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Payments on operating lease liability</td><td>&#160;</td>
    <td style="text-align: left"></td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">170,535</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">157,713</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40A_eus-gaap--IncreaseDecreaseInContractWithCustomerLiability_i03_pp0p0_maNCPBUzjDo_zeV9SPYJrVe9" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; padding-left: 20pt; text-align: left">Deferred revenue</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"></td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">921,613</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,049,784</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,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--NetCashProvidedByUsedInOperatingActivities_i01T_pp0p0_mtNCPBUzjDo_maCCERCzviK_z79I1qbes808" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; text-align: left">Net cash provided by (used in) operating activities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"></td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">2,778,270</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">937,906</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,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_40E_eus-gaap--NetCashProvidedByUsedInInvestingActivitiesAbstract_iB_zhGnFkKhxWOe" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Cash flows from investing activities:</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_40F_eus-gaap--PaymentsToAcquireIntangibleAssets_i01N_pp0p0_di_msNCPBUzNAq_zyPGxBqEKOHa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Purchase of intangible assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquireIntangibleAssets" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">86,012</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquireIntangibleAssets" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">92,886</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_i01N_pp0p0_di_msNCPBUzNAq_zJZmrzX8BSre" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; padding-left: 10pt; text-align: left">Purchase of property and equipment</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,725,726</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">602,009</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_400_eus-gaap--NetCashProvidedByUsedInInvestingActivities_i01T_pp0p0_mtNCPBUzNAq_maCCERCzviK_zeTkBOhoywc1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Net cash used in investing activities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">1,811,738</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">694,895</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</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--NetCashProvidedByUsedInFinancingActivitiesAbstract_iB_z54cW2Roxz3j" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Cash flows from financing activities:</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--RepaymentsOfLongTermDebt_i01N_pp0p0_di_msNCPBUz7mD_zjSwgJAXPYcg" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Principal payments of debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:RepaymentsOfLongTermDebt" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">115,049</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0632">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--ProceedsFromIssuanceInitialPublicOffering_i01_pp0p0_maNCPBUz7mD_zk35j2ibTiU5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Stock issued for cash in offering, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0634">-</span></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:ProceedsFromIssuanceInitialPublicOffering" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">16,795,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--ProceedsFromStockOptionsExercised_i01_maNCPBUz7mD_zGNoETABtxkh" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; padding-left: 10pt; text-align: left">Stock options exercised</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromStockOptionsExercised" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,725</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromStockOptionsExercised" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,070</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--NetCashProvidedByUsedInFinancingActivities_i01T_pp0p0_mtNCPBUz7mD_maCCERCzviK_zgsYPGRptXid" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Net cash provided by (used in) financing activities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">102,324</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">16,801,070</ix:nonFraction></td><td style="padding-bottom: 1.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--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_iT_pp0p0_mtCCERCzviK_znvQsi71A4V9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net increase (decrease) in cash and restricted cash</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">4,692,332</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">17,044,081</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_iS_pp0p0_zKuknXdFDJE2" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; text-align: left">Cash and cash equivalents, beginning of period</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">19,708,565</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,841,984</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_iE_pp0p0_zp1CRamaFhcc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">Cash and cash equivalents, end of period</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:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">15,016,233</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:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">23,886,065</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--SupplementalCashFlowElementsAbstract_iB_zFcj3lceZDNb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Supplemental disclosure of cash flow information:</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-left: 10pt; text-align: left">Cash (refunded) paid:</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--IncomeTaxesPaidNet_i01_pp0p0_zJ3It7Jb8QK5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Income taxes paid (refunded)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">99,035</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">78,096</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestPaidNet_i01_pp0p0_zotoWJPm0TNf" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Interest paid</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestPaidNet" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">128,507</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:InterestPaidNet" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,763</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,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_40F_eus-gaap--CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract_i01B" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Supplemental disclosure of non-cash investing and financing activities:</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_405_ecustom--ConversionOfInventoryToPropertyAndEquipment_i01_pp0p0_zSewkXBruH1e" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Conversion of inventory to property and equipment</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="VTSI:ConversionOfInventoryToPropertyAndEquipment" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">294,016</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0665">-</span></td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
accompanying notes to unaudited financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 6; Value: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>VIRTRA,
INC.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_7"></span>NOTES
TO FINANCIAL STATEMENTS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(Unaudited)</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock"><p id="xdx_809_eus-gaap--OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_zNTHWGFGcWVg" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
1. <span id="xdx_820_zq1qjTD5SL49">Organization and Significant Accounting Policies</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="VTSI:OrganizationAndBusinessOperationsPolicyTextBlock"><p id="xdx_840_ecustom--OrganizationAndBusinessOperationsPolicyTextBlock_zJaEAkt6qR5f" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86C_zjfJDINFHYyk">Organization
and Business Operations</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">VirTra,
Inc. (the &#8220;Company,&#8221; &#8220;VirTra,&#8221; &#8220;we,&#8221; &#8220;us&#8221; or &#8220;our&#8221;), located in Chandler,
Arizona, is a global provider of judgmental use of force training simulators, firearms training simulators and driving simulators for
the law enforcement, military, educational and commercial markets. The Company&#8217;s patented technologies, software, and scenarios
provide intense training for de-escalation, judgmental use-of-force, marksmanship and related training that mimics real-world situations.
VirTra&#8217;s mission is to save and improve lives worldwide through practical and highly-effective virtual reality and simulator technology.
The Company sells its products worldwide through a direct sales force and international distribution partners. The original business
started in 1993 as Ferris Productions, Inc. In September 2001, Ferris Productions, Inc. merged with GameCom, Inc. to ultimately become
VirTra, Inc., a Nevada corporation.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
March 2020, a global pandemic was declared by the World Health Organization related to the rapidly growing outbreak of a novel strain
of coronavirus (COVID-19). The pandemic has significantly impacted the economic conditions in the U.S., accelerating during half of March
and April as federal, state and local governments react to the public health crisis, creating significant uncertainties in the U.S. economy.
On March 30, 2020, the Governor for the State of Arizona issued a stay-at-home order which expired on May 15, 2020, upon which Arizona
entered Phase I of reopening. The Company carefully reviewed all rules and regulations of the government orders and determined it met
the requirements of an essential business to remain open. The Company had the majority of its staff begin working remotely in mid-March,
with only essential personnel continue working at the manufacturing and production facilities and currently remains in Arizona&#8217;s
Phase I of reopening. This situation is rapidly changing and additional impacts to the business may arise that we are not aware of currently.
While the disruption is currently expected to be temporary, there is uncertainty around the duration. The ultimate impact of the pandemic
on the Company&#8217;s results of operations, financial position, liquidity or capital resources cannot be reasonably estimated at this
time. To date, the COVID-19 restrictions have resulted in reduced customer shipments and customer system installations. These recent
developments are expected to result in lower recognized revenue and possibly lower gross margin when they occur. To date, there have
been no order cancellations; rather, there have only been delays in when orders ship or installations occur and all delayed orders remain
in backlog. Any future impact cannot be reasonably estimated at this time. The Company is no longer investing in Certificates of Deposits
as a precautionary measure to increase its liquid cash position and preserve financial flexibility considering uncertainty in the U.S.
and global markets resulting from COVID-19. Additionally, the Company&#8217;s stock repurchase program was suspended as a result of interim
rulings for public-company recipients of a PPP loan under the CARES Act. The stock repurchase suspension remained in effect for the duration
of the outstanding PPP loan and continues to remain in effect even though the PPP loan has been forgiven and is no longer outstanding.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Russian-Ukraine conflict is a global concern. The Company does not have any significant direct exposure to Russia or Ukraine through
its operations, employee base, investments, or sanctions. We have no basis to evaluate the possible risks of this conflict.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>&#160;</i></b></span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock"><p id="xdx_84F_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_z7zy3Qnknwdi" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86A_zY97D7zYINCh">Basis
of Presentation</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
unaudited financial statements included herein have been prepared by us without audit pursuant to the rules and regulations of the Securities
and Exchange Commission (&#8220;SEC&#8221;) and should be read in conjunction with our audited financial statements for the year ended
December 31, 2021 included in the Company&#8217;s Annual Report on Form 10-K for the fiscal year ended December 31, 2021 filed with the
SEC on August 2, 2022. Certain information and footnote disclosures normally included in financial statements prepared in accordance
with accounting principles generally accepted in the United States of America (&#8220;GAAP&#8221;) have been condensed or omitted as
permitted by the SEC, although we believe the disclosures that are made are adequate to make the information presented herein not misleading.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
accompanying unaudited financial statements reflect, in our opinion, all normal recurring adjustments necessary to present fairly our
financial position at June 30, 2022 and the results of our operations and cash flows for the periods presented. We derived the December
31, 2021 balance sheet data from audited financial statements; however, we did not include all disclosures required by GAAP.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Interim
results are subject to seasonal variations, and the results of operations for the six months ended June 30, 2022 are not necessarily
indicative of the results to be expected for the full year.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:UseOfEstimates"><p id="xdx_842_eus-gaap--UseOfEstimates_zsgECnsdFsTf" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86E_zwbgXtZSp5U">Use
of Estimates</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
preparation of financial statements in conformity with GAAP requires management to make estimates that affect the reported amounts of
assets and liabilities and disclosure of contingent assets and liabilities as of the date of the financial statements and the reported
amounts of revenues and expenses during the reporting period. Actual results could differ significantly from those estimates. Significant
accounting estimates in these financial statements include valuation assumptions for share-based payments, allowance for doubtful accounts, inventory reserves, accrual for warranty reserves, the carrying value of long-lived assets and intangible assets,
income tax valuation allowances, and the allocation of the transaction price to the performance
obligations in our contracts with customers.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 7; Value: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->5<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:RevenueRecognitionPolicyTextBlock"><p id="xdx_843_eus-gaap--RevenueRecognitionPolicyTextBlock_zecMYuNtlmYc" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86F_zNvuZaRv3bNh">Revenue
Recognition</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company adopted the Financial Accounting Standards Board&#8217;s (the &#8220;FASB&#8221;) Accounting Standards Codification (&#8220;ASC&#8221;)
606, Revenue from Contracts with Customer (Topic 606) (&#8220;ASC 606&#8221;) on January 1, 2018 and the Company elected to use the modified
retrospective transition method which requires application of ASC 606 to uncompleted contracts at the date of adoption. The adoption
of ASC 606 did not have a material impact on the financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Under
ASC 606, the Company must identify the contract with a customer, identify the performance obligations in the contract, determine the
transaction price, allocate the transaction price to the performance obligations in the contract, and recognize revenue when (or as)
the Company satisfies a performance obligation. Significant judgment is necessary when making these determinations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s primary sources of revenue are derived from simulator and accessories sales, training and installation, the sale of customizable
software and the sale of extended service-type warranties. The Company&#8217;s policy is to typically invoice upon completion of installation
and/or training until such time the performance obligations that have been satisfied are included in unbilled. Sales discounts are presented
in the financial statements as reductions in determining net revenues. Credit sales are recorded as current assets (accounts receivable
and unbilled revenue). Prepaid deposits received at the time of sale and extended warranties purchased are recorded as current and long-term
liabilities (deferred revenue) until earned. The following briefly summarizes the nature of our performance obligations and method of
revenue recognition:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Performance
    Obligation</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Method
    of Recognition</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Simulator
    and accessories</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Upon
    transfer of control</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Installation
    and training</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Upon
    completion or over the period of services being rendered</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Extended
    service-type warranty</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
    and recognized over the life of the extended warranty</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customized
    software and content</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Upon
    transfer of control or over the period services are performed depending on the terms of the contract</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customized
    content scenario</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
    performance obligation is transferred over time (input method using time and materials expanded)</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales-based
    royalty exchanged for license of intellectual property</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Recognized
    as the performance obligation is satisfied over time &#8211; which is as the sales occur.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company recognizes revenue upon transfer of control or upon completion of the services for the simulator and accessories; for the installation
and training and customized software performance obligations as the customer has the right and ability to direct the use of these products
and services and the customer obtains substantially all of the remaining benefit from these products and services at that time. Revenue
from certain customized content contracts may be recognized over the period the services are performed based on the terms of the contract.
For the sales-based royalty exchanged for license of intellectual property, the Company recognized revenue as the sales occur over time.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company recognizes revenue on a straight-line basis over the period of services being rendered for the extended service-type warranties
as these warranties represent a performance obligation to &#8220;stand ready to perform&#8221; over the duration of the warranties. As
such, the warranty service is performed continuously over the warranty period.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Each
contract states the transaction price. The contracts do not include variable consideration, significant financing components or noncash
consideration. The Company has elected to exclude sales and similar taxes from the measurement of the transaction price. The contract&#8217;s
transaction price is allocated to the performance obligations based upon their stand-alone selling prices. Discounts to the stand-alone
selling prices, if any, are allocated proportionately to each performance obligation.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="VTSI:DisaggregationOfRevenuePolicyTextBlock"><p id="xdx_844_ecustom--DisaggregationOfRevenuePolicyTextBlock_znjvUfNmfMI4" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86B_zLoKXFmdrnY3">Disaggregation
of Revenue</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:DisaggregationOfRevenueTableTextBlock"><p id="xdx_893_eus-gaap--DisaggregationOfRevenueTableTextBlock_zIsariXe6LBa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Under
ASC 606, disaggregated revenue from contracts with customers depicts the nature, amount, timing, and uncertainty of revenue and cash
flows affected by economic factors. The Company has evaluated revenues recognized and the following table illustrates the disaggregation
disclosure by customer&#8217;s location and performance obligation.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Disaggregation
of Revenue</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BB_zwYKlGyBElmj" style="display: none">Schedule of Disaggregation of Revenues</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="30" style="border-bottom: Black 1.5pt solid; text-align: center">Three Months ended June 30,</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center">2021</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Commercial</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Government</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">International</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Commercial</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Government</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">International</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 20%; text-align: left">Simulators and accessories</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98D_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zjTLCRducMRa" title="Simulators and accessories" style="width: 6%; text-align: right"><ix:nonFraction name="VTSI:SimulatorsandAccessoriesRevenue" contextRef="From2022-04-012022-06-30_custom_GeographicDistributionCommercialMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,521,100</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">$</td><td id="xdx_984_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zZr8tM6oJHl4" title="Simulators and accessories" style="width: 6%; text-align: right"><ix:nonFraction name="VTSI:SimulatorsandAccessoriesRevenue" contextRef="From2022-04-012022-06-30_custom_GeographicDistributionGovernmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,422,233</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">$</td><td id="xdx_988_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zDplKq28jrT5" title="Simulators and accessories" style="width: 6%; text-align: right"><ix:nonFraction name="VTSI:SimulatorsandAccessoriesRevenue" contextRef="From2022-04-012022-06-30_us-gaap_GeographicDistributionForeignMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,737,301</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">$</td><td id="xdx_98D_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630_zQNjko2WMMMb" title="Simulators and accessories" style="width: 6%; text-align: right"><ix:nonFraction name="VTSI:SimulatorsandAccessoriesRevenue" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,680,634</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">$</td><td id="xdx_989_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zTskqGmCXhVf" title="Simulators and accessories" style="width: 6%; text-align: right"><ix:nonFraction name="VTSI:SimulatorsandAccessoriesRevenue" contextRef="From2021-04-012021-06-30_custom_GeographicDistributionCommercialMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">543,890</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">$</td><td id="xdx_982_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_za7cQ7BifiU5" title="Simulators and accessories" style="width: 6%; text-align: right"><ix:nonFraction name="VTSI:SimulatorsandAccessoriesRevenue" contextRef="From2021-04-012021-06-30_custom_GeographicDistributionGovernmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,503,592</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">$</td><td id="xdx_989_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z5lkLIk5cFQb" title="Simulators and accessories" style="width: 6%; text-align: right"><ix:nonFraction name="VTSI:SimulatorsandAccessoriesRevenue" contextRef="From2021-04-012021-06-30_us-gaap_GeographicDistributionForeignMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">106,933</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">$</td><td id="xdx_985_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630_zHzMLN19PPbf" title="Simulators and accessories" style="width: 6%; text-align: right"><ix:nonFraction name="VTSI:SimulatorsandAccessoriesRevenue" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,154,415</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">Extended service-type warranties</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zuuysX2VShk9" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:ExtendedServicetypeWarranties" contextRef="From2022-04-012022-06-30_custom_GeographicDistributionCommercialMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">30,546</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zelWLOQWiiRh" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:ExtendedServicetypeWarranties" contextRef="From2022-04-012022-06-30_custom_GeographicDistributionGovernmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">747,878</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zYk1KwnIugdd" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:ExtendedServicetypeWarranties" contextRef="From2022-04-012022-06-30_us-gaap_GeographicDistributionForeignMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">27,646</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630_z5wKq0pbWgi6" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:ExtendedServicetypeWarranties" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">806,070</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zIc028d26tl8" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:ExtendedServicetypeWarranties" contextRef="From2021-04-012021-06-30_custom_GeographicDistributionCommercialMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">25,547</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_z3aElAjiMXtd" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:ExtendedServicetypeWarranties" contextRef="From2021-04-012021-06-30_custom_GeographicDistributionGovernmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">673,970</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--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zHqDsFFjpVyc" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:ExtendedServicetypeWarranties" contextRef="From2021-04-012021-06-30_us-gaap_GeographicDistributionForeignMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">28,965</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--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630_zgduGN9ZmCd" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:ExtendedServicetypeWarranties" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">728,482</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Customized software and content</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zdI6i28Rh5O8" title="Simulators and accessories" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0713">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zCz2lafgadC7" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:CustomizedSoftwareAndCustomizedContentScenarios" contextRef="From2022-04-012022-06-30_custom_GeographicDistributionGovernmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">60,392</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zGLvo0xQTMl7" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:CustomizedSoftwareAndCustomizedContentScenarios" contextRef="From2022-04-012022-06-30_us-gaap_GeographicDistributionForeignMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">126,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20220401__20220630_zXfzFHoHIFM9" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:CustomizedSoftwareAndCustomizedContentScenarios" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">186,392</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z0iDalua8uLa" title="Simulators and accessories" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0721">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zvFX1VPeTOjd" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:CustomizedSoftwareAndCustomizedContentScenarios" contextRef="From2021-04-012021-06-30_custom_GeographicDistributionGovernmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">146,543</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zsiWaPY5v6Gi" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:CustomizedSoftwareAndCustomizedContentScenarios" contextRef="From2021-04-012021-06-30_us-gaap_GeographicDistributionForeignMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">21,170</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20210401__20210630_zVBIs15ofj93" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:CustomizedSoftwareAndCustomizedContentScenarios" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">167,713</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Installation and training</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zgKfTnIq3u36" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:InstallationAndTraining" contextRef="From2022-04-012022-06-30_custom_GeographicDistributionCommercialMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">35,343</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zdPGSKOV1vGf" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:InstallationAndTraining" contextRef="From2022-04-012022-06-30_custom_GeographicDistributionGovernmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">249,847</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z1cUfY8atsz7" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:InstallationAndTraining" contextRef="From2022-04-012022-06-30_us-gaap_GeographicDistributionForeignMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">39,097</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630_zBSs0M93RJP1" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:InstallationAndTraining" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">324,287</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zIrpbUVde8Df" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:InstallationAndTraining" contextRef="From2021-04-012021-06-30_custom_GeographicDistributionCommercialMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">15,043</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zAUqLquwoxtd" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:InstallationAndTraining" contextRef="From2021-04-012021-06-30_custom_GeographicDistributionGovernmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">186,909</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zMxyglxfIHRg" title="Simulators and accessories" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0741">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630_z3fGubiltAs3" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:InstallationAndTraining" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">201,952</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Licensing and royalties</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zotNvXeUFQF7" title="Simulators and accessories" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0745">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98E_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zomPBQLTw6j4" title="Simulators and accessories" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0747">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z4aurUWgRHCi" title="Simulators and accessories" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0749">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630_zr7eT2vfgbwj" title="Simulators and accessories" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0751">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_981_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zYnyJqBz5Pt5" title="Simulators and accessories" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="VTSI:LicensingAndRoyaltiesRevenue" contextRef="From2021-04-012021-06-30_custom_GeographicDistributionCommercialMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,630</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98F_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zkYzbb8XgAUb" title="Simulators and accessories" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0755">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zmVAkELxIaV" title="Simulators and accessories" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0757">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630_zePUOV6b0ohe" title="Simulators and accessories" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="VTSI:LicensingAndRoyaltiesRevenue" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,630</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total Revenue</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z2L6068QwXO" title="Simulators and accessories" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-04-012022-06-30_custom_GeographicDistributionCommercialMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,586,989</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zzz72VsbaV8k" title="Simulators and accessories" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-04-012022-06-30_custom_GeographicDistributionGovernmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,480,350</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zWCi49zG1NDf" title="Simulators and accessories" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-04-012022-06-30_us-gaap_GeographicDistributionForeignMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,930,044</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_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630_zlg1aTBCnXSj" title="Simulators and accessories" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,997,383</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_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zIFDiraaYuV1" title="Simulators and accessories" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2021-04-012021-06-30_custom_GeographicDistributionCommercialMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">587,110</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_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zZYnIZqZEoWh" title="Simulators and accessories" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2021-04-012021-06-30_custom_GeographicDistributionGovernmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,511,014</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zaPqjGEqAw8b" title="Simulators and accessories" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2021-04-012021-06-30_us-gaap_GeographicDistributionForeignMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">157,068</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_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630_zfn4sxTuNYM7" title="Simulators and accessories" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,255,192</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 8; Value: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->6<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="30" style="border-bottom: Black 1.5pt solid; text-align: center">Six Months ended June 30,</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center">2021</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Commercial</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Government</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">International</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Commercial</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Government</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">International</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 20%; text-align: left">Simulators and accessories</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98B_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zutlr6kBo8Z1" title="Simulators and accessories" style="width: 6%; text-align: right"><ix:nonFraction name="VTSI:SimulatorsandAccessoriesRevenue" contextRef="From2022-01-012022-06-30_custom_GeographicDistributionCommercialMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,101,292</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">$</td><td id="xdx_981_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_z475SpeWhZFd" title="Simulators and accessories" style="width: 6%; text-align: right"><ix:nonFraction name="VTSI:SimulatorsandAccessoriesRevenue" contextRef="From2022-01-012022-06-30_custom_GeographicDistributionGovernmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,646,791</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">$</td><td id="xdx_98E_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zxEu68r5Jep3" title="Simulators and accessories" style="width: 6%; text-align: right"><ix:nonFraction name="VTSI:SimulatorsandAccessoriesRevenue" contextRef="From2022-01-012022-06-30_us-gaap_GeographicDistributionForeignMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,643,938</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">$</td><td id="xdx_98A_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630_z5hypVzDZVe5" title="Simulators and accessories" style="width: 6%; text-align: right"><ix:nonFraction name="VTSI:SimulatorsandAccessoriesRevenue" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">12,392,021</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">$</td><td id="xdx_981_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zgei3eb1GAG" title="Simulators and accessories" style="width: 6%; text-align: right"><ix:nonFraction name="VTSI:SimulatorsandAccessoriesRevenue" contextRef="From2021-01-012021-06-30_custom_GeographicDistributionCommercialMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">815,528</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">$</td><td id="xdx_986_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zn8azzg22IW9" title="Simulators and accessories" style="width: 6%; text-align: right"><ix:nonFraction name="VTSI:SimulatorsandAccessoriesRevenue" contextRef="From2021-01-012021-06-30_custom_GeographicDistributionGovernmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,181,515</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">$</td><td id="xdx_985_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zUGcGiAdipgb" title="Simulators and accessories" style="width: 6%; text-align: right"><ix:nonFraction name="VTSI:SimulatorsandAccessoriesRevenue" contextRef="From2021-01-012021-06-30_us-gaap_GeographicDistributionForeignMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,184,118</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">$</td><td id="xdx_98A_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630_zQuggBJhdxck" title="Simulators and accessories" style="width: 6%; text-align: right"><ix:nonFraction name="VTSI:SimulatorsandAccessoriesRevenue" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,181,161</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">Extended service-type warranties</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zMjJlhBuv141" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:ExtendedServicetypeWarranties" contextRef="From2022-01-012022-06-30_custom_GeographicDistributionCommercialMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">62,033</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zDd8MhyfZY06" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:ExtendedServicetypeWarranties" contextRef="From2022-01-012022-06-30_custom_GeographicDistributionGovernmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,478,238</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zYlEJ5URh8Z2" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:ExtendedServicetypeWarranties" contextRef="From2022-01-012022-06-30_us-gaap_GeographicDistributionForeignMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">45,308</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630_zk4r6R0YWXPk" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:ExtendedServicetypeWarranties" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,585,579</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zolGWkI0AOt5" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:ExtendedServicetypeWarranties" contextRef="From2021-01-012021-06-30_custom_GeographicDistributionCommercialMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">47,621</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zD72MtM2nKAb" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:ExtendedServicetypeWarranties" contextRef="From2021-01-012021-06-30_custom_GeographicDistributionGovernmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,344,554</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zRRXx38FVA2d" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:ExtendedServicetypeWarranties" contextRef="From2021-01-012021-06-30_us-gaap_GeographicDistributionForeignMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">49,015</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630_zI3Ta6CYYRU3" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:ExtendedServicetypeWarranties" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,441,190</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Customized software and content</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zY3J3Akm8BB5" title="Simulators and accessories" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0809">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zGW4MAf4KTmd" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:CustomizedSoftwareAndCustomizedContentScenarios" contextRef="From2022-01-012022-06-30_custom_GeographicDistributionGovernmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,106</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zg2F2pjitR79" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:CustomizedSoftwareAndCustomizedContentScenarios" contextRef="From2022-01-012022-06-30_us-gaap_GeographicDistributionForeignMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">209,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20220101__20220630_zWX4vYPCdTS1" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:CustomizedSoftwareAndCustomizedContentScenarios" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">211,106</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zSik14E2ZTfj" title="Simulators and accessories" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0817">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zD85NlqDDEv" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:CustomizedSoftwareAndCustomizedContentScenarios" contextRef="From2021-01-012021-06-30_custom_GeographicDistributionGovernmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">613,956</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zc4eFFe1PpH1" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:CustomizedSoftwareAndCustomizedContentScenarios" contextRef="From2021-01-012021-06-30_us-gaap_GeographicDistributionForeignMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">73,443</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20210101__20210630_zM8YkM2RRc19" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:CustomizedSoftwareAndCustomizedContentScenarios" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">687,399</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Installation and training</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_ecustom--InstallationAndTraining_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zPpTgMygdpol" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:InstallationAndTraining" contextRef="From2022-01-012022-06-30_custom_GeographicDistributionCommercialMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">47,208</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--InstallationAndTraining_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zXo6mkwmfYlc" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:InstallationAndTraining" contextRef="From2022-01-012022-06-30_custom_GeographicDistributionGovernmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">407,400</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_ecustom--InstallationAndTraining_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z3JhHEYLIwWj" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:InstallationAndTraining" contextRef="From2022-01-012022-06-30_us-gaap_GeographicDistributionForeignMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">107,297</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--InstallationAndTraining_pp0p0_c20220101__20220630_zE0xkGoUysIf" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:InstallationAndTraining" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">561,905</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zyAbWSRsUHvj" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:InstallationAndTraining" contextRef="From2021-01-012021-06-30_custom_GeographicDistributionCommercialMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">49,864</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zfgBAZnLLkel" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:InstallationAndTraining" contextRef="From2021-01-012021-06-30_custom_GeographicDistributionGovernmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">306,707</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zccYWc3OQe74" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:InstallationAndTraining" contextRef="From2021-01-012021-06-30_us-gaap_GeographicDistributionForeignMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">26,350</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630_zcX0nIxdNKR5" title="Simulators and accessories" style="text-align: right"><ix:nonFraction name="VTSI:InstallationAndTraining" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">382,921</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Licensing and royalties</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zOhEY11o8ACl" title="Simulators and accessories" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0841">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zBXVJxXIT4Lf" title="Simulators and accessories" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0843">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zC9SSX857kK8" title="Simulators and accessories" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0845">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630_zWt9xiOYQ8Yh" title="Simulators and accessories" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0847">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98B_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z3VU3q189QG1" title="Simulators and accessories" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="VTSI:LicensingAndRoyaltiesRevenue" contextRef="From2021-01-012021-06-30_custom_GeographicDistributionCommercialMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,430</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zZciaxILhVFa" title="Simulators and accessories" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0851">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_986_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zIV1OekVlMZf" title="Simulators and accessories" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0853">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630_zzJMtiIvFemi" title="Simulators and accessories" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="VTSI:LicensingAndRoyaltiesRevenue" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,430</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total Revenue</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_ztuBgPgUWdIg" title="Simulators and accessories" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-06-30_custom_GeographicDistributionCommercialMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,210,533</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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zbfbVSGiRgVa" title="Simulators and accessories" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-06-30_custom_GeographicDistributionGovernmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,534,535</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_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zMVoctgeIBrb" title="Simulators and accessories" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-06-30_us-gaap_GeographicDistributionForeignMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,005,543</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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630_zK57tbXuQmm8" title="Simulators and accessories" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">14,750,611</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_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zGVrHlODfBn1" title="Simulators and accessories" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2021-01-012021-06-30_custom_GeographicDistributionCommercialMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">917,443</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zP9RwBZnU862" title="Simulators and accessories" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2021-01-012021-06-30_custom_GeographicDistributionGovernmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,446,732</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zHkwmJCBl5W2" title="Simulators and accessories" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2021-01-012021-06-30_us-gaap_GeographicDistributionForeignMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,332,926</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630_zwmb9Sjl2Zl8" title="Simulators and accessories" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,697,101</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the six months ended June 30, 2022, governmental customers comprised $<span id="xdx_900_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_zHsMRR8bUA41" title="Revenue"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_GovernmentCustomersMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,534,535</ix:nonFraction></span>, or <span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_z9eEzLxsetL9" title="Concentration of credit risk"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_GovernmentCustomersMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">44</ix:nonFraction></span>% of total net sales, commercial customers comprised
$<span id="xdx_90D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zQe9P6TYufUj" title="Revenue"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_CommercialCustomersMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,210,533</ix:nonFraction></span>, or <span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zeJy0PnWcet3" title="Concentration of credit risk"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_CommercialCustomersMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">35</ix:nonFraction></span>% of total net sales, and international customers comprised $<span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zoSRzBPprKg4" title="Revenue"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_InternationalCustomersMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,005,543</ix:nonFraction></span>, or <span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zx3z2eYeOdGg" title="Concentration of credit risk"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_InternationalCustomersMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">20</ix:nonFraction></span>% of total net sales. By comparison, for
the six months ended June 30, 2021, governmental customers comprised $<span id="xdx_90E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_z7yF9LMGFhta" title="Revenue"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2021-01-012021-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_GovernmentCustomersMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,446,732</ix:nonFraction></span>, or <span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_zCncbpAo498j" title="Concentration of credit risk"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2021-01-012021-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_GovernmentCustomersMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">77</ix:nonFraction></span>% of total net sales, commercial customers comprised
$<span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zzBsAXW2ojp4" title="Revenue"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2021-01-012021-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_CommercialCustomersMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">917,443</ix:nonFraction></span>, or <span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zLTGLMrUpgUc" title="Concentration of credit risk"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2021-01-012021-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_CommercialCustomersMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">9</ix:nonFraction></span>% of total net sales, and international customers comprised $<span id="xdx_905_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zJ3J6mqDZwuk" title="Revenue"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2021-01-012021-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_InternationalCustomersMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,332,926</ix:nonFraction></span>, or <span id="xdx_90B_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_z3apCwOGySD4" title="Concentration of credit risk"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2021-01-012021-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_InternationalCustomersMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">14</ix:nonFraction></span>% of total net sales.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:DepositContractsPolicy"><p id="xdx_84E_eus-gaap--DepositContractsPolicy_zkb7GfFJdVg4" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86C_z1683k2aAiH2">Customer
Deposits</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customer
deposits consist of prepaid deposits received for equipment purchase orders and for Subscription Training Equipment Partnership (&#8220;STEP&#8221;)
operating agreements that expire annually. Customer deposits are considered a deferred liability until the completion of the customer&#8217;s
contract performance obligation. When revenue is recognized, the deposit is applied to customer&#8217;s receivable balance. Customer
deposits are recorded as a current liability under deferred revenue on the accompanying balance sheet and totalled $<span id="xdx_900_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pp0p0_c20220630__us-gaap--IncomeStatementLocationAxis__custom--DeferredRevenueMember_zuoXi6CG9398" title="Customer deposits, current"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" contextRef="AsOf2022-06-30_custom_DeferredRevenueMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,212,846</ix:nonFraction></span> and $<span id="xdx_900_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pp0p0_c20211231__us-gaap--IncomeStatementLocationAxis__custom--DeferredRevenueMember_z4cc6PSeLhVf" title="Customer deposits, current"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" contextRef="AsOf2021-12-31_custom_DeferredRevenueMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,371,531</ix:nonFraction></span>
at June 30, 2022 and December 31, 2021, respectively. Changes in deferred revenue amounts related to customer deposits will fluctuate
from year to year based upon the mix of customers required to prepay deposits under the Company&#8217;s credit policy.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:StandardProductWarrantyPolicy"><p id="xdx_84E_eus-gaap--StandardProductWarrantyPolicy_zKLWBsZQxJF1" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86B_zG59nK5Y0crj">Warranty</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company warranties its products from manufacturing defects on a limited basis for a period of one year after purchase, but also sells
separately priced extended service-type warranties for periods of up to four years after the expiration of the standard one-year warranty.
During the term of the initial one-year warranty, if the device fails to operate properly from defects in materials and workmanship,
the Company will fix or replace the defective product. Deferred revenue for separately priced extended warranties one year or less totalled
$<span id="xdx_909_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220630__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearOrLessMember_zVsqqR4HWjw6" title="Extended warranties"><ix:nonFraction name="us-gaap:ExtendedProductWarrantyAccrual" contextRef="AsOf2022-06-30_custom_WarrantyMember_custom_OneYearOrLessMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,160,327</ix:nonFraction></span> and $<span id="xdx_90A_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearOrLessMember_z3okiH8tPzM9" title="Extended warranties"><ix:nonFraction name="us-gaap:ExtendedProductWarrantyAccrual" contextRef="AsOf2021-12-31_custom_WarrantyMember_custom_OneYearOrLessMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,764,034</ix:nonFraction></span> as of June 30, 2022 and December 31, 2021, respectively. Deferred revenue for separately priced extended warranties
longer than one year totalled $<span id="xdx_900_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220630__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--LongerThanOneYearMember_z1RS7AiSGdPg" title="Extended warranties"><ix:nonFraction name="us-gaap:ExtendedProductWarrantyAccrual" contextRef="AsOf2022-06-30_custom_WarrantyMember_custom_LongerThanOneYearMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,311,052</ix:nonFraction></span> and $<span id="xdx_90F_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--LongerThanOneYearMember_zLtwnMLeY9yf" title="Extended warranties"><ix:nonFraction name="us-gaap:ExtendedProductWarrantyAccrual" contextRef="AsOf2021-12-31_custom_WarrantyMember_custom_LongerThanOneYearMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,815,871</ix:nonFraction></span> as of June 30, 2022 and December 31, 2021, respectively. The accrual for the one-year
manufacturer&#8217;s warranty liability totalled $<span id="xdx_902_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220630__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearMember_zTq78dY2oQZc" title="Extended warranties"><ix:nonFraction name="us-gaap:ExtendedProductWarrantyAccrual" contextRef="AsOf2022-06-30_custom_WarrantyMember_custom_OneYearMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">434,000</ix:nonFraction></span> and $<span id="xdx_90C_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearMember_zaNPppemWQe6" title="Extended warranties"><ix:nonFraction name="us-gaap:ExtendedProductWarrantyAccrual" contextRef="AsOf2021-12-31_custom_WarrantyMember_custom_OneYearMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">384,000</ix:nonFraction></span> as of June 30, 2022 and December 31, 2021, respectively. During
the six months ended June 30, 2022 and 2021, the Company recognized revenue of $<span id="xdx_903_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pp0p0_c20220101__20220630_zyFo4EpVIKgc" title="Revenue recognized"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">916,069</ix:nonFraction></span> and $<span id="xdx_90D_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pp0p0_c20210101__20210630_zqMhLoylPff8" title="Revenue recognized"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">682,842</ix:nonFraction></span>, respectively, related to the
extended service-type warranties that was amortized from the deferred revenue balance at the beginning of each period. Changes in deferred
revenue amounts related to extended service-type warranties will fluctuate from year to year based upon the average remaining life of
the warranties at the beginning of the period and new extended service-type warranties sold during the period.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:ConcentrationRiskCreditRisk"><p id="xdx_843_eus-gaap--ConcentrationRiskCreditRisk_z2YPoWn779fk" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_863_zBhUqr30Edfk">Concentration
of Credit Risk and Major Customers and Suppliers</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Financial
instruments that potentially subject the Company to concentrations of credit risk consist of cash and cash equivalents, certificates
of deposit, accounts receivable and notes receivable.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s cash, cash equivalents and certificates of deposit are maintained with financial institutions with high credit standings
and are FDIC insured deposits. The FDIC insures deposits according to the ownership category in which the funds are insured and how the
accounts are titled. The standard deposit insurance coverage limit is $<span id="xdx_906_eus-gaap--CashFDICInsuredAmount_iI_pp0p0_c20220630_zuw1nl4UuIV3" title="FDIC insured amount"><ix:nonFraction name="us-gaap:CashFDICInsuredAmount" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">250,000</ix:nonFraction></span> per depositor, per FDIC-insured bank, per ownership category.
The Company had uninsured cash and cash equivalents of $<span id="xdx_90D_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20220630_zspbxBje0Xz2" title="Uninsured cash and cash equivalents"><ix:nonFraction name="us-gaap:CashUninsuredAmount" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">14,515,248</ix:nonFraction></span> and $<span id="xdx_90F_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20211231_zGRz5zM9FOwf" title="Uninsured cash and cash equivalents"><ix:nonFraction name="us-gaap:CashUninsuredAmount" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">19,207,786</ix:nonFraction></span> as of June 30, 2022 and December 31, 2021, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 9; Value: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->7<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Most
sales are to governments that are typically made on credit and the Company generally does not require collateral. Management performs
ongoing credit evaluations of its customers&#8217; financial condition and maintains an allowance for estimated losses. Historically,
the Company has experienced minimal charges relative to doubtful accounts.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Historically,
the Company primarily sells its products to United States federal and state agencies. For the six months ended June 30, 2022, no single
customer comprised more than <span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerProductAndServiceBenchmarkMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--NoCommercialCustomerMember_zhil1NbJhYub" title="Concentration of credit risk"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-06-30_us-gaap_RevenueFromContractWithCustomerProductAndServiceBenchmarkMember_us-gaap_CustomerConcentrationRiskMember_custom_NoCommercialCustomerMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">10</ix:nonFraction></span>% of total net sales. By comparison, for the six months ended June 30, 2021, one federal agency comprised
<span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerProductAndServiceBenchmarkMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__custom--OneFederalAgencyMember_zl7a484Bqmw1" title="Concentration of credit risk"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2021-01-012021-06-30_us-gaap_RevenueFromContractWithCustomerProductAndServiceBenchmarkMember_us-gaap_CustomerConcentrationRiskMember_custom_OneFederalAgencyMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">10</ix:nonFraction></span>% of total net sales.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2022, one commercial customer comprised <span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__srt--StatementGeographicalAxis__custom--OneStateAgencyMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--OneCommercialCustomerMember_zm9rSHOq3Gz5" title="Concentration of credit risk"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-06-30_custom_OneStateAgencyMember_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_OneCommercialCustomerMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">13.7</ix:nonFraction></span>% of total accounts receivable. By comparison, as of December 31, 2021, the Company
did not have any customer that accounted for more than <span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--StatementGeographicalAxis__custom--OneStateAgencyMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zZOeBhqTn0J4" title="Concentration of credit risk"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2021-01-012021-12-31_custom_OneStateAgencyMember_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">10</ix:nonFraction></span>% of total accounts receivable.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>&#160;</i></b></span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:EarningsPerSharePolicyTextBlock"><p id="xdx_843_eus-gaap--EarningsPerSharePolicyTextBlock_zXIBLZwPDL6k" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_861_zewpF6jmD1Jl">Net
Income per Common Share</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"><p id="xdx_89E_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zkF1xMUcl9v6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
net income per common share is computed by dividing net income by the weighted average of common shares outstanding. Diluted net income
per share reflects the potential dilution, using the treasury stock method, that would occur if outstanding stock options and warrants
were exercised. Earnings per share computations are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B3_zRinQ8eaXwC2">Schedule
of Earnings Per Share</span></span></p>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_49E_20220401__20220630_zKWHJd95PtXf" 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_493_20210401__20210630_zT9dG7G2vhp7" 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_496_20220101__20220630_zxxm8uHft6Nf" 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_49C_20210101__20210630_zwf4tZrluuJf" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center">Three Months Ended June 30,</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center">Six Months Ended June 30,</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2021</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2021</td><td style="padding-bottom: 1.5pt">&#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><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_402_eus-gaap--NetIncomeLoss_zhufJXYP7J0i" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 44%; text-align: left">Net Income</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">787,374</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">$</td><td style="width: 10%; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">529,359</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">$</td><td style="width: 10%; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,364,448</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">$</td><td style="width: 10%; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,184,522</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_zDB0s6EhixJ5" style="vertical-align: bottom; background-color: White">
    <td>Weighted average common stock outstanding</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">10,866,775</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="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">10,644,363</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-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">10,837,186</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="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">9,209,808</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--IncrementalCommonSharesAttributableToStockOptions_zVpGDN1sUnZj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Incremental shares from stock options</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="VTSI:IncrementalCommonSharesAttributableToStockOptions" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">25,527</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="VTSI:IncrementalCommonSharesAttributableToStockOptions" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">48,875</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="VTSI:IncrementalCommonSharesAttributableToStockOptions" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">30,481</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="VTSI:IncrementalCommonSharesAttributableToStockOptions" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="INF" sign="-" unitRef="Shares">299</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_z4I4U3aNLMx3" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Weighted average common stock outstanding diluted</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-04-012022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">10,892,302</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="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">10,693,238</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-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">10,867,667</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="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">9,209,509</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income per common share and common equivalent shares</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_40F_eus-gaap--EarningsPerShareBasic_z0xkHrRwkDna" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Basic</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-04-012022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.07</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="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.05</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-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.13</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="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.13</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--EarningsPerShareDiluted_ze3Bo7JeoL02" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Diluted</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-04-012022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.07</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="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.05</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-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.13</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="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.13</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric></ix:nonNumeric><p id="xdx_8A7_z4sedqiGILw5" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric></ix:nonNumeric><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:InventoryDisclosureTextBlock"><p id="xdx_80D_eus-gaap--InventoryDisclosureTextBlock_zbz58sXlVt7d" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
2. <span id="xdx_823_z8Cbyt9K4fee">Inventory</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock"><p id="xdx_899_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zB2J1gv2r2Bg" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inventory
consisted of the following as of:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BD_zRNpytf4egKa" style="display: none">Schedule of Inventory</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_494_20220630_zxTJ8ciwSvli" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20211231_z3ceBRbUmkN6" style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt">&#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--InventoryWorkInProcessAndRawMaterials_iI_pp0p0_maINzu8Z_zrpcH0EmRsa4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Raw materials and work in process</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right"><ix:nonFraction name="us-gaap:InventoryWorkInProcessAndRawMaterials" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,134,217</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">$</td><td style="width: 18%; text-align: right"><ix:nonFraction name="us-gaap:InventoryWorkInProcessAndRawMaterials" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,229,636</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--InventoryValuationReserves_iNI_pdp0_di_msINzu8Z_z0BVIDuU5H5g" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Reserve</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:InventoryValuationReserves" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">302,431</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:InventoryValuationReserves" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">214,712</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,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_408_eus-gaap--InventoryNet_iTI_pp0p0_mtINzu8Z_z8qbygwOLZNd" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total inventory</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:InventoryNet" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,831,786</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:InventoryNet" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,014,924</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A7_z9o8y0agJ9vf" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company regularly evaluates the useful life of its spare parts inventory and as a result, the Company classified $<span id="xdx_908_eus-gaap--OtherAssetsNoncurrent_iI_pp0p0_c20220630__us-gaap--BalanceSheetLocationAxis__custom--SparePartsMember_zfFXA3QhtKm6" title="Other assets, long-term"><ix:nonFraction name="us-gaap:OtherAssetsNoncurrent" contextRef="AsOf2022-06-30_custom_SparePartsMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">322,968</ix:nonFraction></span> and $<span id="xdx_901_eus-gaap--OtherAssetsNoncurrent_iI_pp0p0_c20211231__us-gaap--BalanceSheetLocationAxis__custom--SparePartsMember_zwPCWHIDar1d" title="Other assets, long-term"><ix:nonFraction name="us-gaap:OtherAssetsNoncurrent" contextRef="AsOf2021-12-31_custom_SparePartsMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">136,241</ix:nonFraction></span>
of spare parts as Other Assets, long-term on the Balance Sheet at June 30, 2022 and December 31, 2021, respectively.</span></p>
<!-- Field: Split-Segment; Name: 001 -->
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock"><p id="xdx_805_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_zCqyv2VM1K89" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
3. <span id="xdx_827_zdxULDnq560b">Property and Equipment</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:PropertyPlantAndEquipmentTextBlock"><p id="xdx_892_eus-gaap--PropertyPlantAndEquipmentTextBlock_zB9eRWAk0Gle" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Property
and equipment consisted of the following as of:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BA_zB1N72eEEvCa" style="display: none">Schedule
of Property and Equipment</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: 0.25in">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20220630_zlmsQtDFxwai" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_499_20211231_z8ZaNOStQipa" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt">&#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_407_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zaL7n2iizDWe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 56%">Land</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-06-30_us-gaap_LandMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,778,987</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">$</td><td style="width: 18%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2021-12-31_us-gaap_LandMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,778,987</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_z6lBL7YHCTF8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Building &amp; Building Improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-06-30_us-gaap_BuildingAndBuildingImprovementsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,097,454</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:PropertyPlantAndEquipmentGross" contextRef="AsOf2021-12-31_us-gaap_BuildingAndBuildingImprovementsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,005,205</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zvXyXQiIeJOj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Computer equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-06-30_us-gaap_ComputerEquipmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,204,720</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:PropertyPlantAndEquipmentGross" contextRef="AsOf2021-12-31_us-gaap_ComputerEquipmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,171,319</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--FurnitureAndOfficeEquipmentMember_zK1kJ0HJJSP8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Furniture and office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-06-30_custom_FurnitureAndOfficeEquipmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">272,806</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:PropertyPlantAndEquipmentGross" contextRef="AsOf2021-12-31_custom_FurnitureAndOfficeEquipmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">262,814</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zzNGWuB9rC5d" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Machinery and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-06-30_us-gaap_MachineryAndEquipmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,739,881</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:PropertyPlantAndEquipmentGross" contextRef="AsOf2021-12-31_us-gaap_MachineryAndEquipmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,970,007</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--STEPEquipmentMember_zCVuowBFGA45" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">STEP equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-06-30_custom_STEPEquipmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,790,268</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:PropertyPlantAndEquipmentGross" contextRef="AsOf2021-12-31_custom_STEPEquipmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,496,252</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zq28fCbNOOD" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-06-30_us-gaap_LeaseholdImprovementsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">334,934</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:PropertyPlantAndEquipmentGross" contextRef="AsOf2021-12-31_us-gaap_LeaseholdImprovementsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">334,934</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ConstructionInProgressMember_zT81lrLVYFa" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; text-align: left">Construction in Progress</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-06-30_us-gaap_ConstructionInProgressMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">533,194</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2021-12-31_us-gaap_ConstructionInProgressMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,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_40D_eus-gaap--PropertyPlantAndEquipmentGross_iI_maPPAENzO3V_zOxj9js9bOyk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Total property and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,752,244</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:PropertyPlantAndEquipmentGross" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,026,518</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_di_msPPAENzO3V_zFNXY5r15js2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Less: Accumulated depreciation and amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,566,820</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,161,752</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</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_404_eus-gaap--PropertyPlantAndEquipmentNet_iTI_mtPPAENzO3V_zNSnbxUUU3R5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">Property and equipment, net</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:PropertyPlantAndEquipmentNet" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">14,185,424</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:PropertyPlantAndEquipmentNet" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,864,766</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A2_zQFKm1IbvXXb" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Depreciation
expense, including STEP depreciation, was $<span id="xdx_90D_eus-gaap--Depreciation_pp0p0_c20220101__20220630_zTl65saozGbd" title="Depreciation expense"><ix:nonFraction name="us-gaap:Depreciation" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">405,162</ix:nonFraction></span> and $<span id="xdx_90A_eus-gaap--Depreciation_pp0p0_c20210101__20210630_zVUSCKJNxfP2" title="Depreciation expense"><ix:nonFraction name="us-gaap:Depreciation" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">196,711</ix:nonFraction></span> for the six months ended June 30, 2022 and 2021, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 10; Value: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->8<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:IntangibleAssetsDisclosureTextBlock"><p id="xdx_808_eus-gaap--IntangibleAssetsDisclosureTextBlock_ziPPFtfftpAh" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
4. <span id="xdx_829_z00QVomet0ql">Intangible Asset</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock"><p id="xdx_899_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zLWioVK0mBu2" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible
asset consisted of the following as of:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B8_z13DlyxMnHYf" style="display: none">Schedule
of Intangible Asset</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20220630_zZ4LjJmhprcf" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_490_20211231_zbcvlLJcCtNh" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_hus-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zerLgzfmIZ5c" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 56%">Patents</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2022-06-30_us-gaap_PatentsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">160,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">$</td><td style="width: 18%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2021-12-31_us-gaap_PatentsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">160,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_hus-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--CapitalizedMediaContentMember_zXMja7xxBSnl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Capitalized media content</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2022-06-30_custom_CapitalizedMediaContentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">417,240</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:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2021-12-31_custom_CapitalizedMediaContentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">331,228</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_hus-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--AcquiredLeaseIntangibleAssetsMember_z1ldbB4Ky38a" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Acquired lease intangible assets</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2022-06-30_custom_AcquiredLeaseIntangibleAssetsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">83,963</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2021-12-31_custom_AcquiredLeaseIntangibleAssetsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">83,963</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_maIANEGzWG1_zSUv3dTBe40d" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Total intangible assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">661,203</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:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">575,191</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_di_msIANEGzWG1_zDO9ddd3Mzfd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Less accumulated amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">81,240</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">40,112</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</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_402_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iTI_mtIANEGzWG1_zNzI27dx37Fd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">Intangible assets, net</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:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">579,963</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:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">535,079</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AD_zdMX5bJqkHq7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Amortization
expense was $<span id="xdx_909_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20220101__20220630_zFVKzxgfML23" title="Amortization of intangible asset"><ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">41,128</ix:nonFraction></span> and $<span id="xdx_907_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20210101__20210630_zyNronTZVY8e" title="Amortization of intangible asset"><ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,445</ix:nonFraction></span> for the six months ended June 30, 2022 and 2021, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 11; Value: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->9<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:LeasesOfLesseeDisclosureTextBlock"><p id="xdx_800_eus-gaap--LeasesOfLesseeDisclosureTextBlock_zkdpOLy0SgM" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
5. <span id="xdx_82A_zSYjBAdAA9Jl">Leases</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2022-01-01to2022-06-30" continuedAt="ConU001060-01" escape="true" name="VTSI:ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock"><p id="xdx_890_ecustom--ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock_gL3SOBSCOLAAL-ES_zSpw8xuHja06" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
balance sheet classification of lease assets and liabilities as of June 30, 202 was as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B8_zsSdTHjIso8a" style="display: none">Schedule
of Balance Sheet Classification of Lease Assets and Liabilities</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: 0.25in">
  <tr style="display: none; vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&#160;</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td>
    <td colspan="2" id="xdx_493_20220101__20220630_z7akEdCC9O96" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">Balance Sheet Classification</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Assets</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--OperatingLeaseRightOfUseAsset_iS_zydlMZgZgfte" style="vertical-align: bottom; background-color: White">
    <td style="width: 80%; text-align: left">Operating lease right-of-use assets, December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">784,306</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_di_zSX16sbWUQy5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Amortization for the six months ended June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">160,658</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40D_eus-gaap--OperatingLeaseRightOfUseAsset_iE_zHZs42SQmBSc" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total operating lease right-of-use asset, June 30, 2022</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:OperatingLeaseRightOfUseAsset" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">623,648</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Liabilities</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>Current</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--OperatingLeaseLiabilityCurrent_iE_zW0VTsftDfQa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Operating lease liability, short-term</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">361,403</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Non-current</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_400_eus-gaap--OperatingLeaseLiabilityNoncurrent_iE_zg3ZQK5Fhx97" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Operating lease liability, long-term</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">321,217</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--OperatingLeaseLiability_iE_zzT98s9Blklj" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total lease liabilities</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:OperatingLeaseLiability" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">682,620</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A4_z7Xbzz2PypJ9" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2022-01-01to2022-06-30" continuedAt="ConU001077-01" escape="true" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock"><p id="xdx_898_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_gL3LOLLMTTB-RT_zj390e7mE7Th" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Future
minimum lease payments as of June 30, 2022 under non-cancellable operating leases are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B3_zhOke67QKMA6" style="display: none">Schedule
of Future Minimum Lease Payments</span>&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 60%; margin-right: auto">
  <tr style="display: none; vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_493_20220630_zCnvSIYEpns7" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_402_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maLOLLPzpK3_z1D442UTwlhk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">190,941</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr id="xdx_40A_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLOLLPzpK3_zZycEDpmeya" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">390,562</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maLOLLPzpK3_zCnE4tAmZil9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">131,152</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></tr>
  <tr id="xdx_402_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPzpK3_z5k88sBD3BN5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Total lease payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">712,655</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zABWwG5o4OO5" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; text-align: left">Less: imputed interest</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">30,035</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_401_eus-gaap--OperatingLeaseLiability_iI_zDLXMVJ1Sywl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">Operating lease liability</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:OperatingLeaseLiability" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">682,620</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A6_zg84XJaY0T12" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 22.5pt"><span id="xdx_C07_gL3SOBSCOLAAL-ES_zkO3GhppMXId"><ix:continuation continuedAt="ConU001060-02" id="ConU001060-01"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></ix:continuation></span></p>

<div id="xdx_C0D_gL3SOBSCOLAAL-ES_zZ6r2vp61tra"><ix:continuation continuedAt="ConU001060-03" id="ConU001060-02"><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
balance sheet classification of lease assets and liabilities as of December 31, 2021 was as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" id="xdx_302_134_zZqxjYwKQBul" summary="xdx: Disclosure - Schedule of Balance Sheet Classification of Lease Assets and Liabilities (Details)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: 0.25in">
  <tr style="display: none; vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&#160;</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td>
    <td colspan="2" id="xdx_49D_20210101__20211231_zBj0F54iMxz" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">&#160;</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">Balance Sheet Classification</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">December 31, 2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Assets</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--OperatingLeaseRightOfUseAsset_iS_zyP6oH7Si4bc" style="vertical-align: bottom; background-color: White">
    <td style="width: 78%; text-align: left">Operating lease right-of-use assets, December 31, 2020</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,094,527</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--OperatingLeaseRightOfUseAsset_iS_z9UsPmARdCJ2" style="display: none; vertical-align: bottom; background-color: White">
    <td style="text-align: left">Operating lease right-of-use assets, beginning</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,094,527</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40D_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_di_zmdXr5L3g8Sk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Amortization for the year ended December 31, 2021</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="From2021-01-012021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">310,221</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_407_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_di_zhHNnFVmP4wd" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="From2021-01-012021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">310,221</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
<tr id="xdx_40D_eus-gaap--OperatingLeaseRightOfUseAsset_iE_z0hD40NH2OUk" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total operating lease right-of-use asset, December 31, 2021</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:OperatingLeaseRightOfUseAsset" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">784,306</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--OperatingLeaseRightOfUseAsset_iE_zwHb9yHgfyl2" style="display: none; vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total operating lease right-of-use asset, ending</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:OperatingLeaseRightOfUseAsset" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">784,306</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Liabilities</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>Current</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--OperatingLeaseLiabilityCurrent_iE_zphwXuFHdG94" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Operating lease liability, short-term</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">347,772</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Non-current</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_400_eus-gaap--OperatingLeaseLiabilityNoncurrent_iE_zq2rwg9USyy8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; padding-left: 10pt; text-align: left">Operating lease liability, long-term</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">505,383</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--OperatingLeaseLiability_iE_zfzRN2P9dxv" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total lease liabilities</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:OperatingLeaseLiability" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">853,155</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:continuation></div><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_C09_gL3SOBSCOLAAL-ES_zKvJe3HEdxX7"><ix:continuation id="ConU001060-03"><span id="xdx_C02_gL3LOLLMTTB-RT_zRM2HuIiFmY3"><ix:continuation continuedAt="ConU001077-02" id="ConU001077-01">&#160;</ix:continuation></span></ix:continuation></span></span></p>

<div id="xdx_C01_gL3LOLLMTTB-RT_zBbDJJ0cNfnc"><ix:continuation continuedAt="ConU001077-03" id="ConU001077-02"><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Future
minimum lease payments as of December 31, 2021 under non-cancellable operating leases are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" id="xdx_30B_134_zFRL7ES6zt3c" summary="xdx: Disclosure - Schedule of Future Minimum Lease Payments (Details)" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 60%; margin-right: auto">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_49E_20211231_zN0RF4vqNoO" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maLOLLPz7cP_zeUVE5VzRHD5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">379,097</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLOLLPz7cP_zLUgcctrvKBb" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">390,562</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maLOLLPz7cP_z31o3qBm7Vb7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">131,152</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></tr>
  <tr id="xdx_40A_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPz7cP_zNC2O9r08bJ" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Total lease payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">900,811</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zyR4wW2XYPWi" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; text-align: left">Less: imputed interest</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">47,656</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40F_eus-gaap--OperatingLeaseLiability_iI_zdHxl8ilqzcd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">Operating lease liability</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:OperatingLeaseLiability" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">853,155</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:continuation></div><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_C04_gL3LOLLMTTB-RT_z6nMe6wVF3Kk"><ix:continuation id="ConU001077-03">&#160;</ix:continuation></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Rent
expense for the three months ended June 30, 2022 and 2021 was $<span id="xdx_904_eus-gaap--PaymentsForRent_pp0p0_c20220401__20220630_zTd07lPL1ttb" title="Rent expenses"><ix:nonFraction name="us-gaap:PaymentsForRent" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">195,201</ix:nonFraction></span> and $<span id="xdx_904_eus-gaap--PaymentsForRent_pp0p0_c20210401__20210630_z65LfzNncy0c" title="Rent expenses"><ix:nonFraction name="us-gaap:PaymentsForRent" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">115,140</ix:nonFraction></span>, respectively. Rent expense for the six months ended
June 30, 2022 and 2021 was $<span id="xdx_90E_eus-gaap--PaymentsForRent_pp0p0_c20220101__20220630_zmZmI3s7phDi" title="Rent expenses"><ix:nonFraction name="us-gaap:PaymentsForRent" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">404,453</ix:nonFraction></span> and $<span id="xdx_902_eus-gaap--PaymentsForRent_pp0p0_c20210101__20210630_z2c1mTm2ePp4" title="Rent expenses"><ix:nonFraction name="us-gaap:PaymentsForRent" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">258,897</ix:nonFraction></span>, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 12; Value: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->10<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock"><p id="xdx_807_eus-gaap--AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_zwHdOk2s0Rxj" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
6. <span id="xdx_82A_zNywfjAGoOy9">Accrued Expenses</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock"><p id="xdx_891_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_z4c8LJD2jPn" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accrued
compensation and related costs consisted of the following as of:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B7_zHsu8QgZJx11" style="display: none">Schedule
of Accrued Compensation and Related Costs</span>&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20220630_z4Ii5v3mWZLj" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49F_20211231_zYiUJ3djfbyl" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt">&#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_403_eus-gaap--AccruedSalariesCurrent_iI_pp0p0_maERLCzLng_zOTnDQXBE8I5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 56%; text-align: left">Salaries and wages payable</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right"><ix:nonFraction name="us-gaap:AccruedSalariesCurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">365,537</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">$</td><td style="width: 18%; text-align: right"><ix:nonFraction name="us-gaap:AccruedSalariesCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">422,562</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AccruedEmployeeBenefitsCurrent_iI_pp0p0_maERLCzLng_z2rRkvF8NDw2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Employee benefits payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1136">-</span></td><td style="text-align: left"></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccruedEmployeeBenefitsCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">16,523</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--AccruedVacationCurrent_iI_pp0p0_maERLCzLng_zvv0gIBqAmDj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Accrued paid time off (PTO)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccruedVacationCurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">574,185</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:AccruedVacationCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">483,311</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--DeferredCompensationCashBasedArrangementsLiabilityCurrent_iI_pp0p0_maERLCzLng_zf4GjYVIP5We" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; text-align: left">Profit sharing payable</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:DeferredCompensationCashBasedArrangementsLiabilityCurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">289,682</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:DeferredCompensationCashBasedArrangementsLiabilityCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">139,682</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--EmployeeRelatedLiabilitiesCurrent_iTI_pp0p0_mtERLCzLng_zqscP8nIUd0l" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">Total accrued compensation and related costs</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:EmployeeRelatedLiabilitiesCurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,229,404</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:EmployeeRelatedLiabilitiesCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,062,078</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A8_znTGJtnGxkT3" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock"><p id="xdx_89A_eus-gaap--AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock_zzDUsTV7Uaz8" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accrued
expenses and other current liabilities consisted of the following as of:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B4_zGkUjQ2nxE8l" style="display: none">Schedule
of Accrued Expenses and Other Current Liabilities</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 75%; margin-left: 0.25in">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_499_20220630_zUrpuPRP09Nh" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20211231_zEFuU0K3R2te" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#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 id="xdx_408_eus-gaap--ProductWarrantyAccrualClassifiedCurrent_iI_pp0p0_maAPAOAzeBe_maAPAOAzNHf_z60NZYFJ10if" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 56%; text-align: left">Manufacturer&#8217;s warranties</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right"><ix:nonFraction name="us-gaap:ProductWarrantyAccrualClassifiedCurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">434,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">$</td><td style="width: 18%; text-align: right"><ix:nonFraction name="us-gaap:ProductWarrantyAccrualClassifiedCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">384,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--TaxesPayableCurrent_iI_pp0p0_maAPAOAzNHf_zOcUay1xnF8i" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Taxes payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:TaxesPayableCurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">222,466</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:TaxesPayableCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">113,921</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--OtherBorrowings_iI_pp0p0_maAPAOAzNHf_zMan1lPb1JU2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Miscellaneous payable</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherBorrowings" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">613,620</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherBorrowings" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">493,823</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--AccountsPayableAndOtherAccruedLiabilitiesCurrent_iTI_pp0p0_mtAPAOAzNHf_zVNegCwKPLH2" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total accrued expenses and other current liabilities</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:AccountsPayableAndOtherAccruedLiabilitiesCurrent" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,270,086</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:AccountsPayableAndOtherAccruedLiabilitiesCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">991,744</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AE_z7pfhNwN5Tga" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 13; Value: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->11<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:DebtDisclosureTextBlock"><p id="xdx_80F_eus-gaap--DebtDisclosureTextBlock_zDzO6zoUpVy5" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
7. <span id="xdx_828_zlp0QGk1QDpe">Note Payable</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
August 25, 2021, the Company completed the purchase of real property located in Chandler, Arizona (the &#8220;Property&#8221;) for $<span id="xdx_90F_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_pp0p0_c20210825__20210825__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--PropertyMember_zfuwBc5GpXV5" title="Payment to acquire assets"><ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2021-08-252021-08-25_custom_PropertyMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">10,800,000</ix:nonFraction></span>,
paid with cash and proceeds from a mortgage loan from Arizona Bank &amp; Trust in the amount of $<span id="xdx_90D_eus-gaap--ProceedsFromLoans_pp0p0_c20210825__20210825__dei--LegalEntityAxis__custom--ArizonaBankAndTrustMember_zdK7bmIus1G8" title="Proceeds from bank loan"><ix:nonFraction name="us-gaap:ProceedsFromLoans" contextRef="From2021-08-252021-08-25_custom_ArizonaBankAndTrustMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,600,000</ix:nonFraction></span>. The loan terms include interest
to be accrued at a fixed rate of <span id="xdx_90A_eus-gaap--DebtInstrumentInterestRateDuringPeriod_pid_dp_uPure_c20210825__20210825__dei--LegalEntityAxis__custom--ArizonaBankAndTrustMember_zaMN4Biyqoz" title="Debt instrument interest rate"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateDuringPeriod" contextRef="From2021-08-252021-08-25_custom_ArizonaBankAndTrustMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">3</ix:nonFraction></span>% per year, 119 regular monthly payments of $<span id="xdx_900_eus-gaap--DebtInstrumentPeriodicPayment_pp0p0_c20210825__20210825__dei--LegalEntityAxis__custom--ArizonaBankAndTrustMember__us-gaap--DebtInstrumentAxis__custom--OneHundredAndNineteenRegularMonthlyPaymentsMember_zPdn3muvqdZ6" title="Debt instrument periodic payment"><ix:nonFraction name="us-gaap:DebtInstrumentPeriodicPayment" contextRef="From2021-08-252021-08-25_custom_ArizonaBankAndTrustMember_custom_OneHundredAndNineteenRegularMonthlyPaymentsMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">40,978</ix:nonFraction></span>, and one irregular payment of $<span id="xdx_90D_eus-gaap--DebtInstrumentPeriodicPayment_pp0p0_c20210825__20210825__dei--LegalEntityAxis__custom--ArizonaBankAndTrustMember__us-gaap--DebtInstrumentAxis__custom--OneIrregularPaymentMember_znBYZUiisJ52" title="Debt instrument periodic payment"><ix:nonFraction name="us-gaap:DebtInstrumentPeriodicPayment" contextRef="From2021-08-252021-08-25_custom_ArizonaBankAndTrustMember_custom_OneIrregularPaymentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,956,538</ix:nonFraction></span> due on
the maturity date of <span id="xdx_90F_eus-gaap--DebtInstrumentMaturityDate_c20210825__20210825__dei--LegalEntityAxis__custom--ArizonaBankAndTrustMember_zBeRtqqlyrJi" title="Maturity date"><ix:nonNumeric contextRef="From2021-08-252021-08-25_custom_ArizonaBankAndTrustMember" format="ixt:datemonthdayyearen" name="us-gaap:DebtInstrumentMaturityDate">August 23, 2031</ix:nonNumeric></span>. The Company began making monthly payments on September 23, 2021. The payment and performance of
the loan is secured by a security interest in the property acquired.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:ScheduleOfDebtTableTextBlock"><p id="xdx_891_eus-gaap--ScheduleOfDebtTableTextBlock_zuox48HCaaQe" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
note payable amounts consist of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B5_zN5wDojxffya" style="display: none">Schedule
of Notes Payable</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.5in">
  <tr style="display: none; vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_499_20220630_zCMnzTCfwI3" 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_499_20211231_zg4HM3NIfYm2" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt">&#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 style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Short-term liabilities:</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--DebtInstrumentFaceAmount_iI_pp0p0_hus-gaap--ShortTermDebtTypeAxis__custom--NotesPayableMember_maNPCzD1Q_zbwtOyqZSQW" style="vertical-align: bottom; background-color: White">
    <td style="width: 56%; text-align: left">Note payable, principal</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2022-06-30_custom_NotesPayableMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">229,560</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">$</td><td style="width: 18%; text-align: right"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2021-12-31_custom_NotesPayableMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">231,871</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestPayableCurrent_iI_pp0p0_hus-gaap--ShortTermDebtTypeAxis__custom--NotesPayableMember_maNPCzD1Q_zAaWfIJps8k8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Accrued interest on note</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:InterestPayableCurrent" contextRef="AsOf2022-06-30_custom_NotesPayableMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,113</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:InterestPayableCurrent" contextRef="AsOf2021-12-31_custom_NotesPayableMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,420</ix:nonFraction></td><td style="padding-bottom: 1.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_40F_eus-gaap--NotesPayableCurrent_iTI_pp0p0_hus-gaap--ShortTermDebtTypeAxis__custom--NotesPayableMember_mtNPCzD1Q_zQ4knwYxD8u2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">Note payable, short-term</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:NotesPayableCurrent" contextRef="AsOf2022-06-30_custom_NotesPayableMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">233,673</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:NotesPayableCurrent" contextRef="AsOf2021-12-31_custom_NotesPayableMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">236,291</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 style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Long-term liabilities:</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_40F_eus-gaap--DebtInstrumentFaceAmount_iI_hus-gaap--LongtermDebtTypeAxis__custom--NotesPayableMember_zYntDlpsWhqk" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; text-align: left">Note payable, principal</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2022-06-30_custom_NotesPayableMember36707812" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,165,838</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2021-12-31_custom_NotesPayableMember36707828" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,280,395</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,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_40D_eus-gaap--LongTermNotesPayable_iI_pp0p0_hus-gaap--LongtermDebtTypeAxis__custom--NotesPayableMember_zdycWHk8zM77" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Note payable, long term</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:LongTermNotesPayable" contextRef="AsOf2022-06-30_custom_NotesPayableMember36707812" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,165,838</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:LongTermNotesPayable" contextRef="AsOf2021-12-31_custom_NotesPayableMember36707828" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,280,395</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A5_zDhuFSH8H9H2" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:RelatedPartyTransactionsDisclosureTextBlock"><p id="xdx_80B_eus-gaap--RelatedPartyTransactionsDisclosureTextBlock_zxbwW0WElAN" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
8. <span id="xdx_820_zWLgS9qYlfQj">Related Party Transactions</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the six months ended June 30, 2022, the Company redeemed <span id="xdx_90B_eus-gaap--StockRedeemedOrCalledDuringPeriodShares_pid_c20220101__20220630__srt--TitleOfIndividualAxis__custom--ChiefExecutiveOfficerAndChiefOperatingOfficerMember_zgW1AzxTQVlc" title="Stock reedemed or called during period shares"><ix:nonFraction name="us-gaap:StockRedeemedOrCalledDuringPeriodShares" contextRef="From2022-01-012022-06-30_custom_ChiefExecutiveOfficerAndChiefOperatingOfficerMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">17,500</ix:nonFraction></span> previously awarded stock options nearing expiration from related parties
consisting of the Company&#8217;s Co-CEO and COO. &#160;The redemption eliminated the stock options and resulted in a total of $<span id="xdx_900_eus-gaap--AllocatedShareBasedCompensationExpense_pp0p0_c20220101__20220630_ziAit9TnknJe" title="Compensation expenses"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">47,800</ix:nonFraction></span>
in additional compensation expense. During the six months ended June 30, 2022, one Board member purchased <span id="xdx_901_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20220101__20220630__srt--TitleOfIndividualAxis__custom--BoardMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zhLN2DkoMnXa" title="Stock issued during the period, new issues"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2022-01-012022-06-30_custom_BoardMember_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,000</ix:nonFraction></span> shares of common stock,
$<span id="xdx_907_eus-gaap--CommonStockParOrStatedValuePerShare_iI_c20220630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember__srt--TitleOfIndividualAxis__custom--BoardMember_zj2spywvcTze" title="Common stock, par value"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2022-06-30_us-gaap_CommonStockMember_custom_BoardMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.0001</ix:nonFraction></span> par value per share which was then issued to him for previously awarded stock options at an
exercise price of $<span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_c20220101__20220630__srt--TitleOfIndividualAxis__custom--BoardMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zbvpKZ1n4u9h" title="Stock option exercised, value"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-01-012022-06-30_custom_BoardMember_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,725</ix:nonFraction></span> cash paid.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the six months ended June 30, 2021, the Company redeemed <span id="xdx_909_eus-gaap--StockRedeemedOrCalledDuringPeriodShares_pid_c20210101__20210630__srt--TitleOfIndividualAxis__custom--ChiefExecutiveOfficerAndChiefOperatingOfficerMember_zQ8OJfGleijl" title="Stock reedemed or called during period shares"><ix:nonFraction name="us-gaap:StockRedeemedOrCalledDuringPeriodShares" contextRef="From2021-01-012021-06-30_custom_ChiefExecutiveOfficerAndChiefOperatingOfficerMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">17,500</ix:nonFraction></span> previously awarded stock options nearing expiration from related parties
consisting of the Company&#8217;s Co-CEO and COO. The redemption eliminated the stock options and resulted in a total of $<span id="xdx_900_eus-gaap--AllocatedShareBasedCompensationExpense_pp0p0_c20210101__20210630_z0J6YDpX8XVc" title="Compensation expenses"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">116,717</ix:nonFraction></span> in
additional compensation expense. During the six months ended June 30, 2021, one Board member purchased <span id="xdx_907_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20210101__20210630__srt--TitleOfIndividualAxis__custom--BoardMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z2LnMAyA3lt2" title="Stock issued during the period, new issues"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2021-01-012021-06-30_custom_BoardMember_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,000</ix:nonFraction></span> shares of Common Stock,
which was then issued to him for previously awarded stock options at an exercise price of $<span id="xdx_902_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_c20210101__20210630__srt--TitleOfIndividualAxis__custom--BoardMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zFaBXpimhPI5" title="Stock option exercised, value"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2021-01-012021-06-30_custom_BoardMember_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,070</ix:nonFraction></span> cash paid.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 14; Value: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->12<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock"><p id="xdx_801_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_z5MAiWpDYhPf" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
9. <span id="xdx_82A_zjVKwJp3LjDa">Commitments and Contingencies</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>General
or Threatened Litigation</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">From
time to time, the Company is notified of threatened litigation or that a claim is being made against it. The Company evaluates contingencies
on an on-going basis and has established loss provisions for matters in which losses are probable and the amount of loss can be reasonably
estimated. There is no threatened litigation at this time.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Restricted
Stock Unit Grants</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company granted <span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_pid_c20210831__srt--TitleOfIndividualAxis__custom--CoChiefExecutiveOfficerMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z8bdVtzENr0j" title="Number of shares authorized"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" contextRef="AsOf2021-08-31_custom_CoChiefExecutiveOfficerMember_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">224,133</ix:nonFraction></span>
and <span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_pid_c20210831__srt--TitleOfIndividualAxis__srt--ChiefOperatingOfficerMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z04K1QWzkZd6" title="Number of shares authorized"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" contextRef="AsOf2021-08-31_srt_ChiefOperatingOfficerMember_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">168,090</ix:nonFraction></span>&#160;&#160;
performance-based restricted stock units (&#8220;RSUs&#8221;) in August 2021 to one of its Co-Chief Executive Officers and Chief
Operating Officer, respectively. The Company granted <span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_pid_c20220430__srt--TitleOfIndividualAxis__custom--CoChiefExecutiveOfficerMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zcfrujNlGpIa" title="Number of shares authorized"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" contextRef="AsOf2022-04-30_custom_CoChiefExecutiveOfficerMember_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">288,889</ix:nonFraction></span>
performance-based RSUs in April 2022 to its other Co-Chief Executive Officer. It is the Company&#8217;s policy to estimate the fair
value of the RSU&#8217;s on the date of the grant and evaluate the probability of achieving the net profit (net income under GAAP)
tranches quarterly. If the target is deemed probable, the expense is amortized on a straight-line basis over the remaining time
period. The Company determined based on the vesting terms of the RSU grants that achieving net profit (net income under GAAP) for
the twelve months ending June 30, 2022, of $<span id="xdx_909_eus-gaap--NetIncomeLoss_c20220101__20220630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember__us-gaap--AwardDateAxis__custom--JuneThirtyTwoThousandAndTwentyTwoMember_zo0wPldYIdH4" title="Net income"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-06-30_us-gaap_RestrictedStockUnitsRSUMember_custom_JuneThirtyTwoThousandAndTwentyTwoMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,500,000</ix:nonFraction></span>
is probable, and recorded expense for the three months and six months ending June 30, 2022, of $26,250 and $<span id="xdx_90B_eus-gaap--ShareBasedCompensation_c20220101__20220630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z8JvMPRA1dj2"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="From2022-01-012022-06-30_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">70,497</ix:nonFraction></span>, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>&#160;</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Profit
Sharing</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">VirTra
provides a discretionary profit-sharing program that pays out a percentage of Company profits each year as a cash bonus to eligible
employees. The cash payment is typically split into two equal payments and distributed pro-rata in April and October of the
following year to only active employees. For the six months ended June 30, 2022 and 2021, $<span id="xdx_901_eus-gaap--OperatingExpenses_c20220101__20220630__us-gaap--DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis__us-gaap--DeferredProfitSharingMember_zSwArpTkdJWg" title="Operating expenses"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="From2022-01-012022-06-30_us-gaap_DeferredProfitSharingMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">150,000</ix:nonFraction></span>
and $<span id="xdx_907_eus-gaap--OperatingExpenses_c20210101__20210630__us-gaap--DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis__us-gaap--DeferredProfitSharingMember_zzcn6fvMLIF5" title="Operating expenses"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="From2021-01-012021-06-30_us-gaap_DeferredProfitSharingMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">150,000</ix:nonFraction></span>
was expensed to operations for profit sharing. For the three months ended March 31, 2022, $<span id="xdx_90E_eus-gaap--OperatingExpenses_c20220101__20220331__us-gaap--DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis__us-gaap--DeferredProfitSharingMember_z0r218b8c6i8"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="From2022-01-012022-03-31_us-gaap_DeferredProfitSharingMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">75,000</ix:nonFraction></span> was expensed to operations for profit sharing. For the three months
ended March 31, 2021, <span id="xdx_901_eus-gaap--OperatingExpenses_do_c20210101__20210331__us-gaap--DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis__us-gaap--DeferredProfitSharingMember_zDQIC6R8WAIk"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="From2021-01-012021-03-31_us-gaap_DeferredProfitSharingMember" format="ixt-sec:numwordsen" decimals="0" unitRef="USD">no</ix:nonFraction></span> amount was expenses to operations due to uncertainty related to on-going COVID restrictions.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 15; Value: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->13<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock"><p id="xdx_804_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_z66tHZXh6fU1" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
10. <span id="xdx_821_za96RPEJmLIc">Stockholders&#8217; Equity</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Stock
Repurchase</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
October 25, 2016, the Company&#8217;s Board of Directors authorized the repurchase of up to $<span id="xdx_904_eus-gaap--StockRepurchasedDuringPeriodValue_pn6n6_c20161024__20161025__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember__srt--RangeAxis__srt--MaximumMember_zSAJ3SgC1wh7" title="Stock repurchased during period, value"><ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2016-10-242016-10-25_us-gaap_CommonStockMember_srt_MaximumMember" format="ixt:numdotdecimal" decimals="-6" scale="6" unitRef="USD">1</ix:nonFraction></span> million of its common stock under Rule
10b-18 promulgated under the Securities Exchange Act of 1934, as amended. Purchases made pursuant to this authorization will be made
in the open market, in privately negotiated transactions, or pursuant to any trading plan that may be adopted in accordance with the
Rule 10b-18. The timing, manner, price and amount of any repurchases will be determined by the Company in its discretion and will be
subject to economic and market conditions, stock price, applicable legal requirements and other factors. On January 9, 2019, VirTra&#8217;s
Board of Directors authorized an additional $<span id="xdx_908_eus-gaap--StockRepurchasedDuringPeriodValue_pn6n6_c20190108__20190109__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember__srt--RangeAxis__srt--MaximumMember_zA7Z6Vu1XKqb" title="Stock repurchased during period, value"><ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2019-01-082019-01-09_us-gaap_CommonStockMember_srt_MaximumMember" format="ixt:numdotdecimal" decimals="-6" scale="6" unitRef="USD">1</ix:nonFraction></span> million be allocated for the repurchase of VirTra&#8217;s stock under the existing 10b-18
plan. The stock repurchase program was suspended as a result of interim rulings for public-company recipients of a PPP loan under the
CARES Act. The stock repurchase suspension remained in effect until the PPP loan was forgiven on July 20, 2021, and has continued to
remain in effect.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Treasury
Stock</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the six months ended June 30, 2022, the Company purchased no additional treasury shares.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Non-qualified
Stock Options</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has periodically issued non-qualified stock options to key employees, officers and directors under a stock option compensation
plan approved by the Board of Directors in 2009. Terms of option grants are at the discretion of the Board of Directors and are generally
seven years. Upon the exercise of these options, the Company expects to issue new authorized shares of its common stock. The following
table summarizes all non-qualified stock options as of:</span></p>

<ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"><p id="xdx_893_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zRNq8KAYmY24" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BD_z2jaGcJoQNm8" style="display: none">Schedule
of Non-qualified Stock Options</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2021</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center"><p style="margin-top: 0; margin-bottom: 0">Number of</p>
                                               <p style="margin-top: 0; margin-bottom: 0">Stock&#160;</p></td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center"><p style="margin-top: 0; margin-bottom: 0">Weighted</p>
                                               <p style="margin-top: 0; margin-bottom: 0">Exercise</p></td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center"><p style="margin-top: 0; margin-bottom: 0">Number of</p>
                                               <p style="margin-top: 0; margin-bottom: 0">Stock</p></td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center"><p style="margin-top: 0; margin-bottom: 0">Weighted</p>
                                               <p style="margin-top: 0; margin-bottom: 0">Exercise</p></td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Options&#160;</p></td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Price</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Options</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Price</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%; text-align: left">Options outstanding, beginning of year</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_z1eMf54NhIc1" title="Number of stock options, options outstanding, beginning of year" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2021-12-31_custom_NonQualifiedStockOptionMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">112,500</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">$</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zfF7gkeByxX7" title="Weighted exercise price option outstanding, beginning of year" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2021-12-31_custom_NonQualifiedStockOptionMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.51</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 id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zhOHqEdNUjlc" title="Number of stock options, options outstanding, beginning of year" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2020-12-31_custom_NonQualifiedStockOptionMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">164,167</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">$</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zqXgP8pJYPI6" title="Weighted exercise price option outstanding, beginning of year" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2020-12-31_custom_NonQualifiedStockOptionMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.13</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zXoHjamxLVUg" title="Number of stock options, granted" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1246">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zlh4ey955LLa" title="Weighted exercise price, granted" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1248">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zkW1FhoMFSDh" title="Number of stock options, granted" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1250">-</span></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_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zhvf0vL4djx4" title="Weighted exercise price, granted" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1252">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Redeemed</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zk9kqlTjz493" title="Number of stock options, redeemed" style="text-align: right">(<ix:nonFraction name="VTSI:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross" contextRef="From2022-01-012022-06-30_custom_NonQualifiedStockOptionMember" format="ixt:numdotdecimal" decimals="INF" sign="-" unitRef="Shares">17,500</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zh3xpgvEi8O4" title="Weighted exercise price redeemed" style="text-align: right"><ix:nonFraction name="VTSI:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue" contextRef="From2022-01-012022-06-30_custom_NonQualifiedStockOptionMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.55</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_z9bBPwCjJUvi" title="Number of stock options, redeemed" style="text-align: right">(<ix:nonFraction name="VTSI:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross" contextRef="From2021-01-012021-06-30_custom_NonQualifiedStockOptionMember" format="ixt:numdotdecimal" decimals="INF" sign="-" unitRef="Shares">17,500</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zKN0GWn3KG32" title="Weighted exercise price redeemed" style="text-align: right"><ix:nonFraction name="VTSI:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue" contextRef="From2021-01-012021-06-30_custom_NonQualifiedStockOptionMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.21</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Exercised</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zUx7A0Jt1NLl" title="Number of stock options, exercised" style="text-align: right">(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2022-01-012022-06-30_custom_NonQualifiedStockOptionMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,000</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zn82pgYEGMT5" title="Weighted exercise price exercised" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="From2022-01-012022-06-30_custom_NonQualifiedStockOptionMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.55</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zzldUJfgeExb" title="Number of stock options, exercised" style="text-align: right">(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2021-01-012021-06-30_custom_NonQualifiedStockOptionMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,000</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zkVvaGhe8AV6" title="Weighted exercise price exercised" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="From2021-01-012021-06-30_custom_NonQualifiedStockOptionMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.21</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Expired / terminated</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zqijlpRFD1Lj" title="Number of stock options, expired / terminated" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1270">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zkPANKQduDNj" title="Weighted exercise price expired / terminated" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1272">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zcEzdti7CjG" title="Number of stock options, expired / terminated" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1274">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zN9DAgugP88d" title="Weighted exercise price expired / terminated" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1276">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Options outstanding, end of period</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_iE_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zYcrv0WRKmSa" title="Number of stock options options  outstanding end of period" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2022-06-30_custom_NonQualifiedStockOptionMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">90,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_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zGTMDZQrhkvj" title="Weighted exercise price, option outstanding end of period" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2022-06-30_custom_NonQualifiedStockOptionMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.76</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 id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zsOsQDtz9Q2i" title="Number of stock options options  outstanding end of period" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2021-06-30_custom_NonQualifiedStockOptionMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">141,667</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--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zLbYuUHd7P97" title="Weighted exercise price, option outstanding end of period" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2021-06-30_custom_NonQualifiedStockOptionMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.43</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Options exercisable, end of period</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zQsYi3sKfjjl" title="Number of stock options options exercisable end of period" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="AsOf2022-06-30_custom_NonQualifiedStockOptionMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">90,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_pid_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zp1j55MyMC86" title="Weighted exercise price, options exercisable, end of period" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="AsOf2022-06-30_custom_NonQualifiedStockOptionMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.76</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zN14SyZxekPi" title="Number of stock options options exercisable end of period" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="AsOf2021-06-30_custom_NonQualifiedStockOptionMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">141,667</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_pid_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zJMHTh0l3md8" title="Weighted exercise price, options exercisable, end of period" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="AsOf2021-06-30_custom_NonQualifiedStockOptionMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.43</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A6_zcQXL7DCcvPa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company did not have any non-vested stock options outstanding as of June 30, 2022 and December 31, 2021. The weighted average contractual
term for options outstanding and exercisable at June 30, 2022 and 2021 was <span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220101__20220630_zEjdeUuvm7x6" title="Options outstanding weighted average contractual term"><span id="xdx_90F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20220101__20220630_zcflp9enKZCe" title="Options exercisable weighted average contractual term"><span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20210101__20210630_zgNrAfxxUjaj" title="Options outstanding weighted average contractual term"><span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20210101__20210630_zzvQU8s6kHwk" title="Options exercisable weighted average contractual term"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1"><ix:nonNumeric contextRef="From2021-01-012021-06-30" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"><ix:nonNumeric contextRef="From2021-01-012021-06-30" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">7</ix:nonNumeric></ix:nonNumeric></ix:nonNumeric></ix:nonNumeric></span></span></span></span> years. The aggregate intrinsic value of the options outstanding
and exercisable at June 30, 2022 and 2021 was $<span id="xdx_90D_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue_iI_pp0p0_c20220630_zT3xerh2YoR4" title="Exercisable and outstanding Intriinsic value"><ix:nonFraction name="VTSI:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">56,700</ix:nonFraction></span> and $<span id="xdx_90A_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue_iI_pp0p0_c20210630_zUh41jsECfy4" title="Exercisable and outstanding intriinsic value"><ix:nonFraction name="VTSI:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue" contextRef="AsOf2021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">557,707</ix:nonFraction></span>, respectively. The total intrinsic value of options exercised and redeemed
during the six months ended June 30, 2022 and 2021 was $<span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_pp0p0_c20220101__20220630_zyoY9fOVyOfj" title="Intriinsic value"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" contextRef="From2022-01-01to2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">141,272</ix:nonFraction></span> and $<span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_pp0p0_c20210101__20210630_zgZ31qTfziZ" title="Intriinsic value"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" contextRef="From2021-01-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">27,315</ix:nonFraction></span>, respectively. For the three months ended June 30, 2022 and 2021,
the Company received payments related to the exercise of options in the amount of $<span id="xdx_90A_eus-gaap--ProceedsFromStockOptionsExercised_pp0p0_c20220401__20220630_z4AXxhkgin52" title="Proceeds from stock options exrercised"><ix:nonFraction name="us-gaap:ProceedsFromStockOptionsExercised" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,750</ix:nonFraction></span> and $<span id="xdx_90A_eus-gaap--ProceedsFromStockOptionsExercised_pp0p0_c20210401__20210630_zFigMmoFldLd" title="Proceeds from stock options exrercised"><ix:nonFraction name="us-gaap:ProceedsFromStockOptionsExercised" contextRef="From2021-04-012021-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,450</ix:nonFraction></span>, respectively. The aggregate intrinsic
value is calculated as the difference between the exercise price of the underlying options and the fair value of the Company&#8217;s
common stock for those stock options that have an exercise price lower than the fair value of the Company&#8217;s common stock. Options
with an exercise price above the fair value of the Company&#8217;s common stock are considered to have no intrinsic value.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 16; Value: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->14<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>2017
Equity Incentive Plan</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Through
June 30, 2022, <span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_c20220630__us-gaap--PlanNameAxis__custom--TwoThousandAndSeventeenEquityIncentivePlanMember__srt--TitleOfIndividualAxis__custom--ChiefExecutiveOfficerOneMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_ztLcYByB3O97"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" contextRef="AsOf2022-06-30_custom_TwoThousandAndSeventeenEquityIncentivePlanMember_custom_ChiefExecutiveOfficerOneMember_us-gaap_RestrictedStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">224,133</ix:nonFraction></span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">,
<span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_c20220630__us-gaap--PlanNameAxis__custom--TwoThousandAndSeventeenEquityIncentivePlanMember__srt--TitleOfIndividualAxis__custom--ChiefExecutiveOfficerTwoMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_z5EQoZEGg3a5"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" contextRef="AsOf2022-06-30_custom_TwoThousandAndSeventeenEquityIncentivePlanMember_custom_ChiefExecutiveOfficerTwoMember_us-gaap_RestrictedStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">288,889</ix:nonFraction></span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">,
and <span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_c20220630__us-gaap--PlanNameAxis__custom--TwoThousandAndSeventeenEquityIncentivePlanMember__srt--TitleOfIndividualAxis__srt--ChiefOperatingOfficerMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zgUjcLRtptUl" title="Stock issued during period shares based compensation authorized, shares"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" contextRef="AsOf2022-06-30_custom_TwoThousandAndSeventeenEquityIncentivePlanMember_srt_ChiefOperatingOfficerMember_us-gaap_RestrictedStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">168,090</ix:nonFraction>
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">restricted stock awards and <span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20220101__20220630__us-gaap--PlanNameAxis__custom--TwoThousandAndSeventeenEquityIncentivePlanMember__srt--TitleOfIndividualAxis__custom--ChiefExecutiveOfficerOneMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zQh0gQvhEDZ1"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" contextRef="From2022-01-012022-06-30_custom_TwoThousandAndSeventeenEquityIncentivePlanMember_custom_ChiefExecutiveOfficerOneMember_us-gaap_RestrictedStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">14,057</ix:nonFraction>
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">and <span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20220101__20220630__us-gaap--PlanNameAxis__custom--TwoThousandAndSeventeenEquityIncentivePlanMember__srt--TitleOfIndividualAxis__srt--ChiefOperatingOfficerMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_z7LrwEQjh0k9" title="Stock issued during period shares restricted stock, shares"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" contextRef="From2022-01-012022-06-30_custom_TwoThousandAndSeventeenEquityIncentivePlanMember_srt_ChiefOperatingOfficerMember_us-gaap_RestrictedStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">10,543</ix:nonFraction>
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">restricted shares have been granted under the
Equity Plan to the Company&#8217;s Co-CEO&#8217;s and COO, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>&#160;</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Common
stock activity</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
April 11, 2022, the Company issued Mr. Givens a signing bonus of <span id="xdx_908_ecustom--StockIssuedDuringPeriodsharesForSigningBonus_c20220410__20220411__srt--TitleOfIndividualAxis__custom--Mr.GivensMember_zZiBU7rCBKp" title="Stock issued during period for signing bonus, shares"><ix:nonFraction name="VTSI:StockIssuedDuringPeriodsharesForSigningBonus" contextRef="From2022-04-102022-04-11_custom_Mr.GivensMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">64,815</ix:nonFraction></span> shares of common stock, valued at $<span id="xdx_903_eus-gaap--SharesIssuedPricePerShare_iI_c20220411__srt--TitleOfIndividualAxis__custom--Mr.GivensMember_zTMbgJhLBqF5" title="Shares issued price per shares"><ix:nonFraction name="us-gaap:SharesIssuedPricePerShare" contextRef="AsOf2022-04-11_custom_Mr.GivensMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">5.40</ix:nonFraction></span> per share for a total value of $<span id="xdx_909_eus-gaap--IssuanceOfStockAndWarrantsForServicesOrClaims_pp2p0_c20220410__20220411__srt--TitleOfIndividualAxis__custom--Mr.GivensMember_zNHhJR5bFnf1" title="Stock issued for service"><ix:nonFraction name="us-gaap:IssuanceOfStockAndWarrantsForServicesOrClaims" contextRef="From2022-04-102022-04-11_custom_Mr.GivensMember" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USD">350,001</ix:nonFraction></span>, which are restricted from transfer until
the earlier of: i) 12 months of employment having lapsed or ii) the Company terminating employment with Mr. Givens without cause.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Mr.
Givens was also granted <span id="xdx_90D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_pid_c20220410__20220411__us-gaap--PlanNameAxis__custom--EquityIncentivePlanMember__srt--TitleOfIndividualAxis__custom--Mr.GivensMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z8qt9Tu44Pv5" title="Number of shares granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" contextRef="From2022-04-102022-04-11_custom_EquityIncentivePlanMember_custom_Mr.GivensMember_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">288,889</ix:nonFraction></span> performance-based restricted stock units <span style="background-color: white">pursuant to VirTra&#8217;s
2017 Equity Incentive Plan. </span><span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights_pid_c20220410__20220411__us-gaap--PlanNameAxis__custom--EquityIncentivePlanMember__srt--TitleOfIndividualAxis__custom--Mr.GivensMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z2G3dDPMKw41" title="Restricted stock units vesting, description"><ix:nonNumeric contextRef="From2022-04-102022-04-11_custom_EquityIncentivePlanMember_custom_Mr.GivensMember_us-gaap_RestrictedStockUnitsRSUMember" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights">Beginning on the last business day of August 2022, a tranche of restricted stock units, having an
approximate value of $40,000, based on current grant day prices, may vest if the Company has achieved net profit for the twelve months
ending June 30, 2022 of at least $2,500,000. For every $500,000 earned in excess of $2,500,000 another tranche will vest. If the maximum
net profit of $7,000,000 is achieved, ten tranches would vest. Similarly, on the last business day of August 2023, a tranche of restricted
stock units may vest if the Company has achieved a net profit of at least $3,000,000, with the potential to have additional tranches
vest up to a maximum of $9,000,000 in net profit. This vesting arrangement continues with the last business day of August 2024, with
the minimum net profit threshold being $3,500,000 and the maximum net profit being $11,000,000.</ix:nonNumeric></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
vesting schedule notwithstanding, the Compensation Committee shall have the discretion to declare the vesting of any number of restricted
stock units should the Company experience unusual results of operations, such as falling below the net profit threshold one year and
exceeding the maximum net profit the following year, so long as the total number of restricted stock units declared to be vested does
not exceed the amount awarded. Additionally, <span style="background-color: white">while a maximum net profit per year has been set for
allocation of the available shares at this time, it is very possible that the Company will exceed these levels during the next 3 years
and if such performance occurs, the Compensation Committee will meet to determine if additional compensation is in the best interests
of the Company at that time.</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
March 31, 2021, the Company entered into a Securities Purchase Agreement (the &#8220;Purchase Agreement&#8221;) with certain institutional
investors (the &#8220;Purchasers&#8221;), pursuant to which the Company agreed to sell to the Purchasers an aggregate of <span id="xdx_903_eus-gaap--SaleOfStockNumberOfSharesIssuedInTransaction_c20210331__20210331__us-gaap--TypeOfArrangementAxis__custom--SecuritiesPurchaseAgreementMember__srt--TitleOfIndividualAxis__custom--InstitutionalInvestorsMember__us-gaap--AwardTypeAxis__custom--RegisteredDirectorOfferingMember_z73TCJBHQ3E4" title="Number of shares sold"><ix:nonFraction name="us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction" contextRef="From2021-03-312021-03-31_custom_SecuritiesPurchaseAgreementMember_custom_InstitutionalInvestorsMember_custom_RegisteredDirectorOfferingMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">3,000,000</ix:nonFraction></span> shares
(the &#8220;RDO Shares&#8221;) of the Company&#8217;s common stock, $<span id="xdx_903_eus-gaap--CommonStockParOrStatedValuePerShare_iI_c20210331__us-gaap--TypeOfArrangementAxis__custom--SecuritiesPurchaseAgreementMember__srt--TitleOfIndividualAxis__custom--InstitutionalInvestorsMember__us-gaap--AwardTypeAxis__custom--RegisteredDirectorOfferingMember_zjdlIVY64Kse" title="Common stock par value"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2021-03-31_custom_SecuritiesPurchaseAgreementMember_custom_InstitutionalInvestorsMember_custom_RegisteredDirectorOfferingMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.0001</ix:nonFraction></span> par value per share, at a price of $<span id="xdx_90B_eus-gaap--SaleOfStockPricePerShare_iI_c20210331__us-gaap--TypeOfArrangementAxis__custom--SecuritiesPurchaseAgreementMember__srt--TitleOfIndividualAxis__custom--InstitutionalInvestorsMember__us-gaap--AwardTypeAxis__custom--RegisteredDirectorOfferingMember_zZQUW32Weaia" title="Sale of stock, price per share"><ix:nonFraction name="us-gaap:SaleOfStockPricePerShare" contextRef="AsOf2021-03-31_custom_SecuritiesPurchaseAgreementMember_custom_InstitutionalInvestorsMember_custom_RegisteredDirectorOfferingMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">6.00</ix:nonFraction></span> per share in a registered
director offering (the &#8220;Offering&#8221;). The RDO Shares were offered and sold by the Company pursuant to an effective shelf registration
statement on Form S-3 (File No. 333-238624), which was filed by the Company with the SEC on May 22, 2020 and subsequently declared effective
on June 2, 2020, and a related prospectus.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company also entered into a placement agent agreement (the &#8220;Placement Agency Agreement&#8221;) on March 31, 2021 with Roth Capital
Partners, LLC (&#8220;Roth&#8221;), pursuant to which Roth agreed to serve as placement agent for the issuance and sale of the RDO Shares.
The Company agreed to pay Roth an aggregate fee equal to <span id="xdx_90C_eus-gaap--SaleOfStockPercentageOfOwnershipAfterTransaction_pid_dp_uPure_c20210331__20210331__us-gaap--TypeOfArrangementAxis__custom--PlacementAgencyAgreementMember__dei--LegalEntityAxis__custom--RothCapitalPartnersLLCMember_zyt3HkW1a8hg" title="Sale of stock, percentage"><ix:nonFraction name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" contextRef="From2021-03-312021-03-31_custom_PlacementAgencyAgreementMember_custom_RothCapitalPartnersLLCMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">6.5</ix:nonFraction></span>% of the gross proceeds received by the Company from the sale of the securities
in the transaction. The Company also agreed to pay Roth a reimbursement for legal fees and expenses in an amount not to exceed $<span id="xdx_90A_ecustom--ReimbursementLegalFeesAndExpenses_pp0p0_c20210331__20210331__us-gaap--TypeOfArrangementAxis__custom--PlacementAgencyAgreementMember__dei--LegalEntityAxis__custom--RothCapitalPartnersLLCMember__srt--RangeAxis__srt--MaximumMember_zJpkQBYs6hf5" title="Reimbursement legal fees and expenses"><ix:nonFraction name="VTSI:ReimbursementLegalFeesAndExpenses" contextRef="From2021-03-312021-03-31_custom_PlacementAgencyAgreementMember_custom_RothCapitalPartnersLLCMember_srt_MaximumMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">35,000</ix:nonFraction></span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Roth
acted as the lead placement agent in the Offering. Lake Street Capital Markets acted as co-placement agent for the Offering. Maxim Group
LLC acted as a financial advisor to the Company in connection with the Offering.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A
prospectus supplement and the accompanying prospectus relating to and describing the terms of the Offering, dated March 31, 2021, was
filed with the SEC on April 2, 2021.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
April 5, 2021, the Company closed the Offering. The total gross proceeds of the Offering were $<span id="xdx_90C_eus-gaap--ProceedsFromIssuanceInitialPublicOffering_pn5n6_c20210404__20210405__us-gaap--SubsidiarySaleOfStockAxis__custom--OfferingMember_zJpTrd1kj6c5" title="Proceeds from offering"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceInitialPublicOffering" contextRef="From2021-04-042021-04-05_custom_OfferingMember" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD">18.0</ix:nonFraction></span> million, before deducting the placement
agents&#8217; fees and other estimated Offering expenses which totalled $<span id="xdx_902_eus-gaap--OtherExpenses_pp0p0_c20210404__20210405__us-gaap--SubsidiarySaleOfStockAxis__custom--OfferingMember_zv2t3e2SEBQ1" title="other expenses"><ix:nonFraction name="us-gaap:OtherExpenses" contextRef="From2021-04-042021-04-05_custom_OfferingMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,205,000</ix:nonFraction></span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2022-01-01to2022-06-30" escape="true" name="us-gaap:SubsequentEventsTextBlock"><p id="xdx_805_eus-gaap--SubsequentEventsTextBlock_zDFUnHFy9TD5" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
11. <span id="xdx_82D_zzYvCsGFZOn7">Subsequent Events</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None.</span></p>

</ix:nonNumeric><p id="xdx_81B_zd7uYbeg35fg" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 17; Value: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->15<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_8"></span>ITEM
2. MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following discussion and analysis of our financial condition and results of operations should be read in conjunction with our unaudited
financial statements and related notes included in this Quarterly Report on Form 10-Q and the audited financial statements and notes
thereto as of and for the year ended December 31, 2021 and the related Management&#8217;s Discussion and Analysis of Financial Condition
and Results of Operations, both of which are contained in the Company&#8217;s Annual Report on Form 10-K for the year ended December
31, 2021, filed with the Securities and Exchange Commission (the &#8220;SEC&#8221;) on August 2, 2022.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Forward-Looking
Statements</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
information in this discussion contains forward-looking statements and information within the meaning of Section 27A of the Securities
Act of 1933, as amended and Section 21E of the Securities Exchange Act of 1934, as amended, (the &#8220;Exchange Act&#8221;), which are
subject to the &#8220;safe harbor&#8221; created by those sections. The words &#8220;anticipates,&#8221; &#8220;believes,&#8221; &#8220;estimates,&#8221;
&#8220;expects,&#8221; &#8220;intends,&#8221; &#8220;may,&#8221; &#8220;plans,&#8221; &#8220;projects,&#8221; &#8220;will,&#8221; &#8220;should,&#8221;
&#8220;could,&#8221; &#8220;predicts,&#8221; &#8220;potential,&#8221; &#8220;continue,&#8221; &#8220;would&#8221; and similar expressions
are intended to identify forward-looking statements, although not all forward-looking statements contain these identifying words. We
may not actually achieve the plans, intentions or expectations disclosed in our forward-looking statements and you should not place undue
reliance on our forward-looking statements. Actual results or events could differ materially from the plans, intentions and expectations
disclosed in the forward-looking statements that we make. The forward-looking statements are applicable only as of the date on which
they are made, and we do not assume any obligation to update any forward-looking statements. All forward-looking statements in this Quarterly
Report on Form 10-Q are made based on our current expectations, forecasts, estimates and assumptions, and involve risks, uncertainties
and other factors that could cause results or events to differ materially from those expressed in the forward-looking statements. In
evaluating these statements, you should specifically consider various factors, uncertainties and risks that could affect our future results
or operations. These factors, uncertainties and risks may cause our actual results to differ materially from any forward-looking statement
set forth in this Quarterly Report on Form 10-Q. You should carefully consider these risk and uncertainties described and other information
contained in the reports we file with or furnish to the SEC before making any investment decision with respect to our securities. All
forward-looking statements attributable to us or persons acting on our behalf are expressly qualified in their entirety by this cautionary
statement.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 18; Options: NewSection; Value: 3 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Business
Overview</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 15pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">VirTra,
Inc. (the &#8220;Company,&#8221; &#8220;VirTra,&#8221; &#8220;we,&#8221; &#8220;us&#8221; and &#8220;our&#8221;) is a global provider
of judgmental use of force training simulators, firearms training simulators and driving simulators for the law enforcement, military,
educational and commercial markets. The Company&#8217;s patented technologies, software, and scenarios provide intense training for de-escalation,
judgmental use-of-force, marksmanship and related training that mimics real-world situations. VirTra&#8217;s mission is to save and improve
lives worldwide through practical and highly-effective virtual reality and simulator technology.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 15pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 15pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
VirTra firearms training simulator allows marksmanship and realistic scenario-based training to take place on a daily basis without the
need for a shooting range, protective equipment, role players, safety officers, or a scenario-based training site. We have developed
a higher standard in simulation training including capabilities such as: multi-screen, video-based scenarios, unique scenario authoring
ability, superior training scenarios, the patented Threat-Fire&#174; shoot-back system, powerful gas-powered simulated recoil weapons,
and more. The simulator also allows students to receive immediate feedback from the instructor without the potential for sustaining injuries
by the instructor or the students. The instructor is able to teach and re-mediate critical issues, while placing realistic stress on
the students due to the realism and safe training environment created by the VirTra simulator.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 15pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Business
Strategy</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have two main customer groups, namely, law enforcement and military. These are very different markets and require different sales and
marketing programs as well as personnel. Our focus is to expand the market share and scope of our training simulators sales to these
identified customer groups by pursuing the following key growth strategies:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Build
    Our Core Business</i></b>. Our goal is to profitably grow our market share by continuing to develop, produce and market the most
    effective simulators possible. Through disciplined growth in our business, we have achieved a solid balance sheet by increasing our
    working capital and limiting our bank debt. We plan to add staff to our experienced management team as needed to meet the expected
    increase in demand for our products and services as we increase our marketing and sales activities.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Increase
    Total Addressable Market</i>. </b>We plan to increase the size of our total addressable market. This effort will focus on new marketing
    and new product and/or service offerings for the purpose of widening the number of types of customers who might consider our products
    or services uniquely compelling.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Broaden
    Product Offerings</i>. </b>Since formation in 1993, our company has had a proud tradition of innovation in the field of simulation
    and virtual reality. We plan to release revolutionary new products and services as well as continue incremental improvements to existing
    product lines. In some cases, the company may enter a new market segment via the introduction of a new type of product or service.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Partners
    and Acquisitions.</i></b> We try to spend our time and funds wisely and not tackle tasks that can be done more efficiently with partners.
    For example, international distribution is often best accomplished through a local distributor or agent. We are also open to the
    potential of acquiring additional businesses or of being acquired ourselves, based on what is expected to be optimal for our long-term
    future and our stockholders.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 19; Value: 3 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Product
Offerings</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
simulator products include the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">V-300&#174;
    Simulator &#8211; a 300&#176; wrap-around screen with video capability is the higher standard for simulation training</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9675;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    V-300&#174; is the higher standard for decision-making simulation and tactical firearms training. Five screens and a 300-degree immersive
    training environment ensures that time in the simulator translates into real world survival skills. The system reconfigures to support
    15 individual firing lanes.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9675;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A
    key feature of the V-300&#174;shows how quickly judgment decisions have to be made, and if they are not made immediately and quickly,
    it can lead to the possible loss of lives. This feature, among others, supports our value proposition to our customers that you cannot
    put a dollar value on being prepared enough for the surprises that could be around every corner and the ability to safely neutralize
    any life-threatening encounters.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">V-180&#174;Simulator
    &#8211; a 180&#176; screen with video capability is for smaller spaces or smaller budgets</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9675;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    V-180&#174;is the higher standard for decision-making simulation and tactical firearms training. Three screens and a 180-degree immersive
    training environment ensures that time in the simulator translates into real world survival skills. </span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">V-100&#174;Simulator
    &amp; V-100&#174; MIL &#8211; a single-screen based simulator systems</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9675;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    V-100&#174; is the higher standard among single-screen firearms training simulators. Firearms training mode supports up to four (4)
    individual firing lanes at one time. The optional Threat-Fire&#174; device safely simulates enemy return fire with an electric impulse
    (or vibration version), reinforcing performance under pressure. We offer the industry&#8217;s only upgrade path, so a V-100&#174;
    firearms training and force options simulator can affordably grow into an advanced multi-screen trainer in upgraded products that
    we offer customers for future purchase.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9675;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    V-100&#174; MIL is sold to various military commands throughout the world and can support any local language. The system is extremely
    compact and can even share space with a standard classroom or squeeze into almost any existing facility. If a portable firearms simulator
    is needed, this model offers the most compact single-screen simulator on the market today &#8211; everything organized into one standard
    case. The V-100&#174; MIL is the higher standard among single-screen small arms training simulators. Military Engagement Skills mode
    supplies realistic scenario training taken from real world events.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9675;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    V-ST PRO&#174; a highly-realistic single screen firearms shooting and skills training simulator with the ability to scale to multiple
    screens creating superior training environments. The system&#8217;s flexibility supports a combination of marksmanship and use of
    force training on up to 5 screens from a single operator station. The V-ST PRO&#174; is also capable of displaying 1 to 30 lanes of
    marksmanship featuring real world, accurate ballistics.</span></td></tr>
</table>

<p style="margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Virtual
    Interactive Coursework Training Academy (V-VICTA)&#8482; enables law enforcement agencies, to effectively teach, train, test and
    sustain departmental training requirements through nationally accredited coursework and training scenarios using our simulators.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Subscription
    Training Equipment Partnership (STEP)&#8482; is a program that allows agencies to utilize VirTra&#8217;s simulator products, accessories,
    and V-VICTA&#8482; interactive coursework on a subscription basis.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">V-Author&#174;
    Software allows users to create, edit, and train with content specific to agency&#8217;s objectives and environments. V-Author&#174;
    is an easy to use application capable of almost unlimited custom scenarios, skill drills, targeting exercises and firearms course-ware
    proven to be highly effective for users of VirTra simulation products.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Simulated
    Recoil Kits - a wide range of highly realistic and reliable simulated recoil kits/weapons. These drop-in conversion kits fit into
    real weapons but safely simulate the most powerful recoil on the market and even lock-back when out-of-ammunition or simulating a
    dud.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Return
    Fire Device &#8211; the patented Threat-Fire&#174; device which applies real-world stress on the trainees during simulation training.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">TASER&#169;,
    OC spray and low-light training devices that interact with VirTra&#8217;s simulators for training.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 20; Value: 3 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->5<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Recent
Developments</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
March 2020, a global pandemic was declared by the World Health Organization related to the rapidly growing outbreak of a novel strain
of coronavirus (COVID-19). The pandemic has significantly impacted the economic conditions in the U.S., accelerating during half of March
and April as federal, state and local governments react to the public health crisis, creating significant uncertainties in the U.S. economy.
On March 30, 2020, the Governor for the State of Arizona issued a stay-at-home order, in effect until May 15, 2020. The Company carefully
reviewed all rules and regulations of the government orders and determined it met the requirements of an essential business to remain
open. The Company had the majority of its staff begin working remotely in mid-March, with only essential personnel continue working at
the manufacturing and production facilities. This situation is rapidly changing and additional impacts to the business may arise that
we are not aware of currently. While the disruption is currently expected to be temporary, there is uncertainty around the duration.
The ultimate impact of the pandemic on the Company&#8217;s results of operations, financial position, liquidity or capital resources
cannot be reasonably estimated at this time. To date, the COVID-19 restrictions have resulted in reduced customer shipments and customer
system installations. These recent developments are expected to result in lower recognized revenue and possibly lower gross margin when
they occur. To date, there have been no order cancellations only delays in when orders ship or installations occur and all delayed orders
remain in backlog. Although not a material component of our company, a significant adverse change in the business climate could affect
the value of the Company&#8217;s long-term investment in TEC, currently there has not been a negative impact and any future impact cannot
be reasonably estimated at this time. The Company is no longer investing in Certificates of Deposits as a precautionary measure to increase
its liquid cash position and preserve financial flexibility considering uncertainty in the U.S. and global markets resulting from COVID-19.
Additionally, the Company&#8217;s stock repurchase program was suspended as a result of interim rulings for public-company recipients
of a PPP loan under the CARES Act. The stock repurchase suspension has continued in effect, even though the PPP loan has been forgiven
and is no longer outstanding.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Results
of operations for the three and six months ended June 30, 2022 and June 30, 2021</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Revenues.
</i></b>Revenues were $7,997,383 for the three months ended June 30, 2022 compared to $5,255,192 for the same period in 2021, an increase
of $2,742,191, or 52%. Revenues were $14,750,611 for the six months ended June 30, 2022 compared to $9,697,101 for the same period in
2021, an increase of $5,053,510, or 52%. The increase in revenues for the three and six months ended June 30, 2022 resulted from an increase
in the number of simulators and accessories completed, delivered and revenue recognized compared to the same periods in 2021.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Cost
of Sales. </i></b>Cost of sales were $3,253,651 for the three months ended June 30, 2022 compared to $2,120,492 for the same period in
2021, an increase of $1,133,159, or 53%. Cost of sales were $6,319,789 for the six months ended June 30, 2022 compared to $3,993,896
for the same period in 2021, an increase of $2,325,893, or 58%. The increase was due to additional material costs due to higher quantities
of simulator systems and accessories sold. The cost of sales on a dollar basis varies from quarter-to-quarter as a result of sales volume
and product mix.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Gross
Profit. </i></b>Gross profit was $4,743,732 for the three months ended June 30, 2022 compared to $3,134,700 for the same period in
2021, an increase of $1,609,032, or 51%. Gross profit was $8,430,822 for the six months ended June 30, 2022 compared to $5,703,205
for the same period in 2021, an increase of $2,727,617, or 48%. The gross profit margin for the three months ended June 30, 2022 and
2021 was 59% and 60%, respectively. The gross profit margin was 57% for the six months ended June 30, 2022 and 59% for the same
period in 2021. The decrease in gross profit margin percentage was due to increased costs, and the product mix of systems,
accessories and services sold.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Operating
Expenses. </i></b>Net operating expense was $3,702,109 for the three months ended June 30, 2022 compared to $2,313,932 for the same period
in 2021, an increase of $1,388,177, or 60%. Net operating expense was $6,677,896 for the six months ended June 30, 2022 compared to $4,318,382
for the same period in 2021, an increase of $2,359,514, or 55%. The increase was primarily due to expenses related to the move into the
new building and increased payroll costs.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Operating
Income. </i></b>Income from operations was $1,041,623 for the three months ended June 30, 2022 compared to $820,768 for the same period
in 2021, an increase of $220,855 or 27%. Operating income was $1,752,926 for the six months ended June 30, 2022 compared to $1,384,823
for the same period in 2021, an increase of $368,103, or 27%.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Other
Income (Expense). </i></b>Other expense net of other income was $7,565 for the three months ended June 30, 2022 compared to other income
net of other expense of $1,771 for the same period in 2021, a decrease of $9,336, or 527%, primarily from increased interest expense
on note payable. Other expense net of other income was $17,794 for the six months ended June 30, 2022 compared to other income net of
other expense of $15,716 for the same period in 2021, a decrease of $33,510, or 213%.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Provision
for Income Tax Benefit. </i></b>Income tax expense was $246,684 for the three &#160;months ended June 30, 2022 compared to an income tax
expense of $293,180 for the same period in 2021, a decrease of $46,496, or 16%. Income tax expense was $370,684 for the six months ended
June 30, 2022 compared to an income tax expense of $216,017 for the same period in 2021, an increase of $154,667, or 72%. Provision (benefit)
for income tax is estimated quarterly applying both federal and state tax rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Net
Income (Loss). </i></b>Net income was $787,374 for the three months ended June 30, 2022, compared
&#160;to $529,359 for the same period in 2021, an increase of $258,015, or 49%. Net income was $1,364,448 for the six months ended June
30, 2022 compared to $1,184,522 for the same period in 2021, an increase of $179,926, or 15%. The fluctuations in net income (loss) relates
to each respective section discussed
above.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 21; Value: 3 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->6<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Adjusted
Earnings Before Interest, Taxes, Depreciation and Amortization. </i></b>Explanation and Use of Non-GAAP Financial Measures:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Earnings
before interest, income taxes, depreciation and amortization and before other non-operating costs and income (&#8220;EBITDA&#8221;) and
adjusted EBITDA are non-GAAP measures. Adjusted EBITDA also includes non-cash stock option expense. Other companies may calculate adjusted
EBITDA differently. The Company calculates its adjusted EBITDA to eliminate the impact of certain items it does not consider to be indicative
of its performance and its ongoing operations. Adjusted EBITDA is presented herein because management believes the presentation of adjusted
EBITDA provides useful information to the Company&#8217;s investors regarding the Company&#8217;s financial condition and results of
operations and because adjusted EBITDA is frequently used by securities analysts, investors and other interested parties in the evaluation
of companies in the Company&#8217;s industry, several of which present EBITDA and a form of adjusted EBITDA when reporting their results.
Adjusted EBITDA has limitations as an analytical tool and should not be considered in isolation or as a substitute for analysis of the
Company&#8217;s results as reported under accounting principles generally accepted in the United States of America (&#8220;GAAP&#8221;).
Adjusted EBITDA should not be considered as an alternative for net income (loss), cash flows from operating activities and other income
or cash flow statement data prepared in accordance with GAAP or as a measure of profitability or liquidity. A reconciliation of net loss
to adjusted EBITDA is provided in the following table:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">For the Three Months Ended</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">For the Six Months Ended</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">June 30,</td><td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">June 30,</td><td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">Increase</td><td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">%</td><td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">June 30,</td><td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">June 30,</td><td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">Increase</td><td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">%</td><td style="text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2021</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">(Decrease)</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Change</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2021</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">(Decrease)</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Change</td><td style="text-align: center; padding-bottom: 1.5pt">&#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><td>&#160;</td>
    <td colspan="2">&#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><td>&#160;</td>
    <td colspan="2">&#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(204,238,255)">
    <td style="width: 28%; text-align: left">Net Income</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 5%; text-align: right">787,374</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: 5%; text-align: right">529,359</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: 5%; text-align: right">258,015</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: 5%; text-align: right">49</td><td style="width: 1%; text-align: left">%</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 5%; text-align: right">1,364,448</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: 5%; text-align: right">1,184,522</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: 5%; text-align: right">179,926</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: 5%; text-align: right">15</td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Adjustments:</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><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(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Provision for income taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">246,684</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">293,180</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(46,496</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-16</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">370,684</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">216,017</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">154,667</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">72</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Depreciation and amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">230,942</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">103,865</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">127,077</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">122</td><td style="padding-bottom: 1.5pt; text-align: left">%</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">446,688</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">201,155</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">245,533</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">122</td><td style="padding-bottom: 1.5pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">EBITDA</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">1,265,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">926,404</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">338,596</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">37</td><td style="padding-bottom: 1.5pt; text-align: left">%</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">2,181,820</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">1,601,694</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">580,126</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">36</td><td style="padding-bottom: 1.5pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Right of use amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">80,805</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">77,090</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">3,715</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">5</td><td style="padding-bottom: 1.5pt; text-align: left">%</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">160,658</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">153,299</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,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><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="text-align: left; padding-bottom: 2.5pt">Adjusted EBITDA</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,345,805</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,003,494</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">342,311</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">34</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 style="border-bottom: Black 2.5pt double; text-align: right">2,342,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,754,993</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">580,126</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">33</td><td style="padding-bottom: 2.5pt; text-align: left">%</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Liquidity
and Capital Resources. </i></b>Liquidity is the ability of an enterprise to generate adequate amounts of cash to meet its needs for cash
requirements. The Company had $15,016,233 and $19,708,565 of cash and cash equivalents as of June 30, 2022
and December 31, 2021, respectively. Working capital was $26,978,209 and $25,944,717 as of June 30, 2022 and December 31, 2021, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net
cash used in operating activities was $2,778,270 for the six months ended June 30, 2022 and net cash provided by operating activities
was $937,906 for the six months ended June 30, 2021. Net cash used in operating activities resulted primarily from increases in accounts
receivable, inventory, and prepaid expenses, offset by increases in trade accounts payable, accrued compensation, unbilled revenues,
and deferred revenues, as well as other changes in operating assets and liabilities.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net
cash used in investing activities was $1,811,738 for the six months ended June 30, 2022, compared to net cash used in investing activities
of $694,895 for the six months ended June 30, 2021. Investing activities in 2022 and 2021 consisted of purchase of intangible assets,
and manufacturing equipment.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net
cash used in financing activities was $102,234 for the six months ended June 30, 2022, compared to net cash provided by financing
activities of $16,801,070 for the six months ended June 30, 2021. Financing activities in 2021 consisted of the issuance of additional
common stock for cash and stock options exercised and redeemed, compared to financing activities in 2022 which consisted of stock options
exercised and principal payments on note payable.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Bookings
and Backlog</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company defines bookings as the total of newly signed contracts and purchase orders received in a defined time period. The Company received
bookings totalling $9.9 million for the six months ended June 30, 2022. The Company defines backlog as the accumulation of bookings that
have not started or are uncompleted performance objectives and cannot be recognized as revenue until delivered in a future quarter. Backlog
also includes extended warranty agreements and STEP agreements that are deferred revenue recognized on a straight-line basis over the
life of each respective agreement. As of June 30, 2022, the Company&#8217;s backlog was $16.5&#160; million. Management estimates the
majority of the new bookings received in the first six months of 2022 will be converted to revenue in 2022. Management estimates the
conversion of backlog based on current contract delivery dates; however, contract terms and dates are subject to modification and are
routinely changed at the request of the customer. Additionally, due to the impact of COVID-19, management&#8217;s estimates will change
in accordance with federal and state guidelines. To date, the COVID-19 restrictions have resulted in reduced customer shipments and customer
system installations. These recent developments are expected to result in lower recognized revenue and possibly lower gross margin when
they occur. To date, there have been no order cancellations, only delays in when orders ship or installations occur and all delayed orders
remain in backlog.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Cash
Requirements</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
management believes that our current capital resources will be adequate to continue operating the company and maintaining our current
business strategy for more than 12 months from the filing of this Quarterly Report. We are, however, open to raising additional funds
from the capital markets, at a fair valuation, to expand our product and services offered, to enhance our sales and marketing efforts
and effectiveness, and to aggressively take advantage of market opportunities. There can be no assurance, however, that additional financing
will be available to us when needed or, if available, that it can be obtained on commercially reasonable terms. If we are not able to
obtain the additional financing on a timely basis, if and when it is needed, we will be forced to scale down our plans for expanded marketing
and sales efforts.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 22; Value: 3 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->7<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Critical
Accounting Policies and Estimates</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
discussion and analysis of our financial condition and results of operations are based on our unaudited financial statements, which have
been prepared in accordance with GAAP. The preparation of our unaudited financial statements requires us to make estimates and judgments
that affect the reported amounts of assets, liabilities, revenue, expenses, and related disclosure of contingent assets and liabilities.
On an ongoing basis, we evaluate our estimates, including those related to areas that require a significant level of judgment or are
otherwise subject to an inherent degree of uncertainty. Significant accounting estimates in these financial statements include valuation
assumptions for share-based payments, allowance for doubtful accounts and notes receivable, inventory reserves, accrual for warranty
reserves, the carrying value of long-lived assets, income tax valuation allowances, the carrying value of cost basis investments, and
the allocation of the transaction price to the performance obligations in our contracts with customers. We base our estimates on historical
experience, our observance of trends in particular areas, and information or valuations and various other assumptions that we believe
to be reasonable under the circumstances and which form the basis for making judgments about the carrying value of assets and liabilities
that may not be readily apparent from other sources. Actual amounts could differ significantly from amounts previously estimated. For
a discussion of our critical accounting policies, refer to Part I, Item 7, &#8220;Management&#8217;s Discussion and Analysis of Financial
Condition and Results of Operations&#8221; in our Annual Report on Form 10-K for the year ended December 31, 2021. Management believes
that there have been no changes in our critical accounting policies during the six months ended June 30, 2022.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Recent
Accounting Pronouncements</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
Note 1 to our financial statements, included in Part I, Item 1., Financial Information of this Quarterly Report on Form 10-Q.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Off-Balance
Sheet Arrangements</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2022, we did not have any off-balance sheet arrangements that have or are reasonably likely to have a current or future effect
on our financial condition, changes in financial condition, revenues or expenses, results of operations, liquidity, capital expenditures
or capital resources that are material to investors. The term &#8220;off-balance sheet arrangement&#8221; generally means any transaction,
agreement or other contractual arrangement to which an entity unconsolidated with us is a party, under which we have any obligation arising
under a guarantee contract, derivative instrument or variable interest or a retained or contingent interest in assets transferred to
such entity or similar arrangement that serves as credit, liquidity or market risk support for such assets.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_9"></span>ITEM
3. QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Not
required for smaller reporting companies.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_10"></span>ITEM
4. CONTROLS AND PROCEDURES.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Evaluation
of disclosure controls and procedures</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
maintain &#8220;disclosure controls and procedures,&#8221; as that term is defined in Rule 13a-15(e), promulgated by the SEC pursuant
to the Exchange Act. Disclosure controls and procedures include controls and procedures designed to ensure that information required
to be disclosed in our company&#8217;s reports filed under the Exchange Act is recorded, processed, summarized and reported within the
time periods specified in the SEC&#8217;s rules and forms, and that such information is accumulated and communicated to our management,
including our principal executive officer and principal financial officer, to allow timely decisions regarding required disclosure. Our
management, with the participation of our principal executive officer and principal financial officer, evaluated our company&#8217;s
disclosure controls and procedures as of the end of the period covered by this quarterly report on Form 10-Q. Based on this evaluation,
our principal executive officer and principal financial officer concluded that as of June 30, 2021, our disclosure controls and procedures
were not effective. The ineffectiveness of our disclosure controls and procedures was due to material weaknesses, which we identified
in our report on internal control over financial reporting contained in our Annual Report on Form 10-K for the year ended December 31,
2021, filed with the SEC on August 2, 2022.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Change
in internal control over financial reporting</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">There
has been no change in our internal control over financial reporting that occurred during the quarterly period ended June 30, 2022 that
has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting. Subsequent to June
30, 2022, we have implemented more formal review and documentation of workflow processes, and increased our ERP training for our staff.
We believe that a control system, no matter how well designed and operated, cannot provide absolute assurance that the objectives of
the control system are met, and no evaluation of controls can provide absolute assurance that all control issues and instances of fraud,
if any, within any company have been detected.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 23; Value: 3 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->8<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_11"></span>PART
II: OTHER INFORMATION</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_12"></span>ITEM
1. LEGAL PROCEEDINGS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
Note 9 to our unaudited financial statements, included in Part I, Item 1., Financial Information of this Quarterly Report on Form 10-Q,
which information is incorporated herein by reference.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_13"></span>ITEM
1A. RISK FACTORS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Not
required for smaller reporting companies.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_14"></span>ITEM
2. UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_15"></span>ITEM
3. DEFAULTS UPON SENIOR SECURITIES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_16"></span>ITEM
4. MINE SAFETY DISCLOSURES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Not
applicable.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_17"></span>ITEM
5. OTHER INFORMATION</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">There
    have been no material changes to the procedures by which security holders may recommend nominees to the Company&#8217;s Board of
    Directors since the filing with the SEC of the Company&#8217;s Annual Report on Form 10-K for the year ended December 31, 2021.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_18"></span>ITEM
6. EXHIBITS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 10%"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Exhibit</b></span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>No.</b></span></p></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left; width: 88%; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Exhibit
    Description</b></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1085243/000149315222020976/ex10-14.htm" style="-sec-extract: exhibit">John F. Givens II (incorporated by reference to Exhibit 10.14 to the registrant&#8217;s annual report on Form 10-K (File No. 001-38420) filed August 2, 2022)</a></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">31.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex31-1.htm">Certification of Principal Executive Officer pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</a></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">31.2</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><a href="ex31-2.htm"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certification of Principal Executive Officer pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</span></a></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">31.3</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><a href="ex31-3.htm"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certification of Principal Financial Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.</span></a></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">32.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex32-1.htm">Certification of the Principal Executive Officers and Principal Financial Officer pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</a></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.INS</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">Inline <span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">XBRL
    Instance Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.SCH</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">Inline <span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">XBRL
    Taxonomy Extension Schema Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.CAL</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">Inline <span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">XBRL
    Taxonomy Extension Calculation Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.DEF</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">Inline <span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">XBRL
    Taxonomy Extension Definition Linkbase Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.LAB</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">Inline <span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">XBRL
    Taxonomy Extension Label Linkbase Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.PRE</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">Inline <span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">XBRL
    Taxonomy Extension Presentation Linkbase Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">104</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cover
    Page Interactive Data File (embedded within the Inline XBRL document)</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 24; Value: 3 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->9<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="a_19"></span>SIGNATURES</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Pursuant
to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by
the undersigned, thereunto duly authorized.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span>&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>VIRTRA, INC.</b></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 50%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 3%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 47%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date:
    August 19, 2022</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Robert D. Ferris</i></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Robert
    D. Ferris</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Co-Chief
    Executive Officer and President</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(principal
    executive officer)</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    John F. Givens II</i></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">John
    F. Givens II</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Co-Chief
    Executive Officer</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(principal
    executive officer)</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Marsha J. Foxx</i></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Marsha
    J. Foxx,</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
    Accounting Officer</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(principal
    financial and principal accounting officer)</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 25; Options: Last -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->10<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>
</body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>ex31-1.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Exhibit
31.1</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>CERTIFICATIONS</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I,
Robert D. Ferris, certify that:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.
I have reviewed this quarterly report on Form 10-Q for the quarterly period ended June 30, 2022 of VirTra, Inc.;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.
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></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.
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></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.
The registrant&rsquo;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures
(as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act
Rules 13a-15(f) and 15d-15(f)) for the registrant and have:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="margin-left: 0.5in; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)
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: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="margin-left: 0.5in; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)
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: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="margin-left: 0.5in; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(c)
Evaluated the effectiveness of the registrant&rsquo;s disclosure controls and procedures and presented in this report our conclusions
about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation;
and</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="margin-left: 0.5in; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(d)
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: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.
The registrant&rsquo;s other certifying officer(s) 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 the equivalent functions):</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="margin-left: 0.5in; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)
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: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="margin-left: 0.5in; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)
Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&rsquo;s
internal control over financial reporting.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date:
    August 19, 2022</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/
    Robert D. Ferris</I></FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Robert
    D. Ferris</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Co-Chief
Executive Officer and President (principal executive officer<B>)</B></FONT></P></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt/107% Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>3
<FILENAME>ex31-2.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Exhibit
31.2</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>CERTIFICATIONS</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I,
John F. Givens II, certify that:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b.
I have reviewed this quarterly report on Form 10-Q for the quarterly period ended June 30, 2022 of VirTra, Inc.;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.
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></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.
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></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.
The registrant&rsquo;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures
(as defined in Exchange Act Rules 13a-15I and 15d-15I) 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></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Designed
    such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our
    supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements
    for external purposes in accordance with generally accepted accounting principles;</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="margin-left: 0.5in; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)
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: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="margin-left: 0.5in; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I
Evaluated the effectiveness of the registrant&rsquo;s disclosure controls and procedures and presented in this report our conclusions
about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation;
and</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="margin-left: 0.5in; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(d)
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: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.
The registrant&rsquo;s other certifying officer(s) 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 the equivalent functions):</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">All
    significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are
    reasonably likely to adversely affect the registrant&rsquo;s ability to record, process, summarize and report financial information;
    and</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="margin-left: 0.5in; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)
Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&rsquo;s
internal control over financial reporting.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date:
    August 19, 2022</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/
    John F. Givens II</I></FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">John
    F. Givens II</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Co-Chief
    Executive Officer (principal executive officer) </FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.3
<SEQUENCE>4
<FILENAME>ex31-3.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>
&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Exhibit
31.3</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>CERTIFICATIONS</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I,
Marsha J. Foxx, certify that:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.
I have reviewed this quarterly report on Form 10-Q for the quarterly period ended June 30, 2022 of VirTra, Inc.;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.
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></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.
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></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.
The registrant&rsquo;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures
(as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act
Rules 13a-15(f) and 15d-15(f)) for the registrant and have:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="margin-left: 0.5in; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)
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: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="margin-left: 0.5in; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)
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: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="margin-left: 0.5in; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(c)
Evaluated the effectiveness of the registrant&rsquo;s disclosure controls and procedures and presented in this report our conclusions
about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation;
and</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="margin-left: 0.5in; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(d)
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: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.
The registrant&rsquo;s other certifying officer(s) 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 the equivalent functions):</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="margin-left: 0.5in; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)
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: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="margin-left: 0.5in; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)
Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&rsquo;s
internal control over financial reporting.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 27.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date:
    August 19, 2022</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/
    Marsha J. Foxx</I></FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Marsha
    J. Foxx</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
    Accounting Officer (principal financial officer<B>)</B></FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>5
<FILENAME>ex32-1.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Exhibit
32.1</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>CERTIFICATION</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>PURSUANT
TO 18 U.S.C. SECTION 1350,</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>AS
ADOPTED PURSUANT TO SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
connection with the quarterly report on Form 10-Q of VirTra, Inc. (the &ldquo;Company&rdquo;) for the quarter ended June 30, 2022 as
filed with the Securities and Exchange Commission (the &ldquo;Report&rdquo;), each of the undersigned, Robert D. Ferris, Co-Chief Executive
Officer and President of the Company, John F. Givens, II, Co-Chief Executive Officer, and Marsha J. Foxx, Chief Accounting Officer of
the Company, hereby certifies, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002,
that to the best of my knowledge:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.
The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.
The information contained in the Report fairly presents, in all material respects, the financial condition and result of operations of
the Company.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date:
    August 19, 2022</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/
    Robert D. Ferris</I></FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Robert
    D. Ferris, Co-Chief Executive Officer and President (principal executive officer)</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date:
    August 19, 2022</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/
    John F. Givens II</I></FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">John
    F. Givens II, Co-Chief Executive Officer (principal executive officer)</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date:
    August 19, 2022</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/
    Marsha J. Foxx</I></FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Marsha
    J. Foxx, Chief Accounting Officer (principal financial officer)</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt/107% Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"></FONT></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>6
<FILENAME>vtsi-20220630.xsd
<DESCRIPTION>XBRL SCHEMA FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" ?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.15b -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
    <!-- Field: Doc-Info; Name: Misc; Value: 96Mps7xRiXgen8uDanwsWamC6bP9z5Z8yekhvWB2bVkqbywlJYmdCSmv9sR2YUsO -->
<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/2022" xmlns:us-gaap="http://fasb.org/us-gaap/2022" xmlns:srt="http://fasb.org/srt/2022" xmlns:srt-types="http://fasb.org/srt-types/2022" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:VTSI="http://virtra.com/20220630" elementFormDefault="qualified" targetNamespace="http://virtra.com/20220630">
    <annotation>
      <appinfo>
	<link:roleType roleURI="http://virtra.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://virtra.com/role/BalanceSheets" id="BalanceSheets">
	  <link:definition>00000002 - Statement - 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://virtra.com/role/BalanceSheetsParenthetical" id="BalanceSheetsParenthetical">
	  <link:definition>00000003 - Statement - 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://virtra.com/role/StatementsOfOperations" id="StatementsOfOperations">
	  <link:definition>00000004 - Statement - Statements of Operations (Unaudited)</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://virtra.com/role/StatementsOfChangesInStockholdersEquity" id="StatementsOfChangesInStockholdersEquity">
	  <link:definition>00000005 - Statement - Statements of Changes in Stockholders' Equity (Unaudited)</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://virtra.com/role/StatementsOfCashFlows" id="StatementsOfCashFlows">
	  <link:definition>00000006 - Statement - Statements of Cash Flows (Unaudited)</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://virtra.com/role/OrganizationAndSignificantAccountingPolicies" id="OrganizationAndSignificantAccountingPolicies">
	  <link:definition>00000007 - Disclosure - Organization and 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://virtra.com/role/Inventory" id="Inventory">
	  <link:definition>00000008 - Disclosure - Inventory</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://virtra.com/role/PropertyAndEquipment" id="PropertyAndEquipment">
	  <link:definition>00000009 - Disclosure - Property and Equipment</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://virtra.com/role/IntangibleAsset" id="IntangibleAsset">
	  <link:definition>00000010 - Disclosure - Intangible Asset</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://virtra.com/role/Leases" id="Leases">
	  <link:definition>00000011 - Disclosure - Leases</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://virtra.com/role/AccruedExpenses" id="AccruedExpenses">
	  <link:definition>00000012 - 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://virtra.com/role/NotePayable" id="NotePayable">
	  <link:definition>00000013 - Disclosure - Note Payable</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://virtra.com/role/RelatedPartyTransactions" id="RelatedPartyTransactions">
	  <link:definition>00000014 - Disclosure - Related Party Transactions</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://virtra.com/role/CommitmentsAndContingencies" id="CommitmentsAndContingencies">
	  <link:definition>00000015 - 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://virtra.com/role/StockholdersEquity" id="StockholdersEquity">
	  <link:definition>00000016 - Disclosure - Stockholders&#8217; 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://virtra.com/role/SubsequentEvents" id="SubsequentEvents">
	  <link:definition>00000017 - Disclosure - Subsequent Events</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies" id="OrganizationAndSignificantAccountingPoliciesPolicies">
	  <link:definition>00000018 - Disclosure - Organization and 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://virtra.com/role/OrganizationAndSignificantAccountingPoliciesTables" id="OrganizationAndSignificantAccountingPoliciesTables">
	  <link:definition>00000019 - Disclosure - Organization and 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://virtra.com/role/InventoryTables" id="InventoryTables">
	  <link:definition>00000020 - Disclosure - Inventory (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://virtra.com/role/PropertyAndEquipmentTables" id="PropertyAndEquipmentTables">
	  <link:definition>00000021 - Disclosure - Property and Equipment (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://virtra.com/role/IntangibleAssetTables" id="IntangibleAssetTables">
	  <link:definition>00000022 - Disclosure - Intangible Asset (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://virtra.com/role/LeasesTables" id="LeasesTables">
	  <link:definition>00000023 - Disclosure - Leases (Tables)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://virtra.com/role/AccruedExpensesTables" id="AccruedExpensesTables">
	  <link:definition>00000024 - 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://virtra.com/role/NotePayableTables" id="NotePayableTables">
	  <link:definition>00000025 - Disclosure - Note Payable (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://virtra.com/role/StockholdersEquityTables" id="StockholdersEquityTables">
	  <link:definition>00000026 - Disclosure - Stockholders&#8217; Equity (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://virtra.com/role/ScheduleOfEarningsPerShareDetails" id="ScheduleOfEarningsPerShareDetails">
	  <link:definition>00000027 - Disclosure - Schedule of 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://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" id="OrganizationAndSignificantAccountingPoliciesDetailsNarrative">
	  <link:definition>00000028 - Disclosure - Organization and 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://virtra.com/role/ScheduleOfInventoryDetails" id="ScheduleOfInventoryDetails">
	  <link:definition>00000029 - Disclosure - Schedule of Inventory (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://virtra.com/role/InventoryDetailsNarrative" id="InventoryDetailsNarrative">
	  <link:definition>00000030 - Disclosure - Inventory (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://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails" id="ScheduleOfPropertyAndEquipmentDetails">
	  <link:definition>00000031 - Disclosure - Schedule of Property and Equipment (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://virtra.com/role/PropertyAndEquipmentDetailsNarrative" id="PropertyAndEquipmentDetailsNarrative">
	  <link:definition>00000032 - Disclosure - Property and Equipment (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://virtra.com/role/ScheduleOfIntangibleAssetDetails" id="ScheduleOfIntangibleAssetDetails">
	  <link:definition>00000033 - Disclosure - Schedule of Intangible Asset (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://virtra.com/role/IntangibleAssetDetailsNarrative" id="IntangibleAssetDetailsNarrative">
	  <link:definition>00000034 - Disclosure - Intangible Asset (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://virtra.com/role/ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesDetails" id="ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesDetails">
	  <link:definition>00000035 - Disclosure - Schedule of Balance Sheet Classification of Lease Assets and Liabilities (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://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails" id="ScheduleOfFutureMinimumLeasePaymentsDetails">
	  <link:definition>00000036 - Disclosure - Schedule of Future Minimum Lease Payments (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://virtra.com/role/LeasesDetailsNarrative" id="LeasesDetailsNarrative">
	  <link:definition>00000037 - Disclosure - Leases (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://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails" id="ScheduleOfAccruedCompensationAndRelatedCostsDetails">
	  <link:definition>00000038 - Disclosure - Schedule of Accrued Compensation and Related Costs (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://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" id="ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails">
	  <link:definition>00000039 - Disclosure - Schedule of Accrued Expenses and Other Current Liabilities (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://virtra.com/role/ScheduleOfNotesPayableDetails" id="ScheduleOfNotesPayableDetails">
	  <link:definition>00000040 - Disclosure - Schedule of Notes Payable (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://virtra.com/role/NotePayableDetailsNarrative" id="NotePayableDetailsNarrative">
	  <link:definition>00000041 - Disclosure - Note Payable (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://virtra.com/role/RelatedPartyTransactionsDetailsNarrative" id="RelatedPartyTransactionsDetailsNarrative">
	  <link:definition>00000042 - Disclosure - Related Party Transactions (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://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative" id="CommitmentsAndContingenciesDetailsNarrative">
	  <link:definition>00000043 - Disclosure - Commitments and Contingencies (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://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails" id="ScheduleOfNon-qualifiedStockOptionsDetails">
	  <link:definition>00000044 - Disclosure - Schedule of Non-qualified 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://virtra.com/role/StockholdersEquityDetailsNarrative" id="StockholdersEquityDetailsNarrative">
	  <link:definition>00000045 - Disclosure - Stockholders&#8217; Equity (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="vtsi-20220630_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="vtsi-20220630_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="vtsi-20220630_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="vtsi-20220630_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/2022" schemaLocation="https://xbrl.sec.gov/dei/2022/dei-2022.xsd" />
    <import namespace="http://fasb.org/us-gaap/2022" schemaLocation="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd" />
    <import namespace="http://fasb.org/us-types/2022" schemaLocation="https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd" />
    <import namespace="http://xbrl.sec.gov/country/2022" schemaLocation="https://xbrl.sec.gov/country/2022/country-2022.xsd" />
    <import namespace="http://fasb.org/srt/2022" schemaLocation="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd" />
    <import namespace="http://fasb.org/srt-types/2022" schemaLocation="https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd" />
    <element id="VTSI_NetSalesMember" name="NetSalesMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_GeographicDistributionCommercialMember" name="GeographicDistributionCommercialMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_GeographicDistributionGovernmentMember" name="GeographicDistributionGovernmentMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_GovernmentCustomersMember" name="GovernmentCustomersMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_CommercialCustomersMember" name="CommercialCustomersMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_InternationalCustomersMember" name="InternationalCustomersMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_DeferredRevenueMember" name="DeferredRevenueMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_WarrantyMember" name="WarrantyMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_OneYearOrLessMember" name="OneYearOrLessMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_LongerThanOneYearMember" name="LongerThanOneYearMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_OneYearMember" name="OneYearMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_NoCommercialCustomerMember" name="NoCommercialCustomerMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_OneFederalAgencyMember" name="OneFederalAgencyMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_OneStateAgencyMember" name="OneStateAgencyMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_OneCommercialCustomerMember" name="OneCommercialCustomerMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_SparePartsMember" name="SparePartsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_FurnitureAndOfficeEquipmentMember" name="FurnitureAndOfficeEquipmentMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_STEPEquipmentMember" name="STEPEquipmentMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_CapitalizedMediaContentMember" name="CapitalizedMediaContentMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_AcquiredLeaseIntangibleAssetsMember" name="AcquiredLeaseIntangibleAssetsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_PropertyMember" name="PropertyMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_ArizonaBankAndTrustMember" name="ArizonaBankAndTrustMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_OneHundredAndNineteenRegularMonthlyPaymentsMember" name="OneHundredAndNineteenRegularMonthlyPaymentsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_OneIrregularPaymentMember" name="OneIrregularPaymentMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_NotesPayableMember" name="NotesPayableMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_ChiefExecutiveOfficerAndChiefOperatingOfficerMember" name="ChiefExecutiveOfficerAndChiefOperatingOfficerMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_BoardMember" name="BoardMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_CoChiefExecutiveOfficerMember" name="CoChiefExecutiveOfficerMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_JuneThirtyTwoThousandAndTwentyTwoMember" name="JuneThirtyTwoThousandAndTwentyTwoMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_TwoThousandAndSeventeenEquityIncentivePlanMember" name="TwoThousandAndSeventeenEquityIncentivePlanMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_ChiefExecutiveOfficerOneMember" name="ChiefExecutiveOfficerOneMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_ChiefExecutiveOfficerTwoMember" name="ChiefExecutiveOfficerTwoMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_Mr.GivensMember" name="Mr.GivensMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_EquityIncentivePlanMember" name="EquityIncentivePlanMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_SecuritiesPurchaseAgreementMember" name="SecuritiesPurchaseAgreementMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_InstitutionalInvestorsMember" name="InstitutionalInvestorsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_RegisteredDirectorOfferingMember" name="RegisteredDirectorOfferingMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_PlacementAgencyAgreementMember" name="PlacementAgencyAgreementMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_RothCapitalPartnersLLCMember" name="RothCapitalPartnersLLCMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_OfferingMember" name="OfferingMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_NonQualifiedStockOptionMember" name="NonQualifiedStockOptionMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices" name="AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_ConversionOfInventoryToPropertyAndEquipment" name="ConversionOfInventoryToPropertyAndEquipment" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_OrganizationAndBusinessOperationsPolicyTextBlock" name="OrganizationAndBusinessOperationsPolicyTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_DisaggregationOfRevenuePolicyTextBlock" name="DisaggregationOfRevenuePolicyTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock" name="ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_SimulatorsandAccessoriesRevenue" name="SimulatorsandAccessoriesRevenue" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_ExtendedServicetypeWarranties" name="ExtendedServicetypeWarranties" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_CustomizedSoftwareAndCustomizedContentScenarios" name="CustomizedSoftwareAndCustomizedContentScenarios" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_InstallationAndTraining" name="InstallationAndTraining" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_LicensingAndRoyaltiesRevenue" name="LicensingAndRoyaltiesRevenue" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_IncrementalCommonSharesAttributableToStockOptions" name="IncrementalCommonSharesAttributableToStockOptions" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_StockIssuedDuringPeriodsharesForSigningBonus" name="StockIssuedDuringPeriodsharesForSigningBonus" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_ReimbursementLegalFeesAndExpenses" name="ReimbursementLegalFeesAndExpenses" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_OneMemberOfTheBoardOfDirectorsMember" name="OneMemberOfTheBoardOfDirectorsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_TrancheMember" name="TrancheMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_CertainInstitutionalInvestorsMember" name="CertainInstitutionalInvestorsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_GrossProceedsAggregatePercentage" name="GrossProceedsAggregatePercentage" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_ProceedsFromIssuanceOfStock" name="ProceedsFromIssuanceOfStock" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_ProceedsFromIssuanceOfStockForService" name="ProceedsFromIssuanceOfStockForService" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="VTSI_NoSingleCustomerMember" name="NoSingleCustomerMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>7
<FILENAME>vtsi-20220630_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.15b -->
    <!-- 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://virtra.com/role/Cover" xlink:href="vtsi-20220630.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/BalanceSheets" xlink:href="vtsi-20220630.xsd#BalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/BalanceSheetsParenthetical" xlink:href="vtsi-20220630.xsd#BalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/StatementsOfOperations" xlink:href="vtsi-20220630.xsd#StatementsOfOperations" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/StatementsOfChangesInStockholdersEquity" xlink:href="vtsi-20220630.xsd#StatementsOfChangesInStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/StatementsOfCashFlows" xlink:href="vtsi-20220630.xsd#StatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/OrganizationAndSignificantAccountingPolicies" xlink:href="vtsi-20220630.xsd#OrganizationAndSignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/Inventory" xlink:href="vtsi-20220630.xsd#Inventory" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/PropertyAndEquipment" xlink:href="vtsi-20220630.xsd#PropertyAndEquipment" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/IntangibleAsset" xlink:href="vtsi-20220630.xsd#IntangibleAsset" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/Leases" xlink:href="vtsi-20220630.xsd#Leases" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/AccruedExpenses" xlink:href="vtsi-20220630.xsd#AccruedExpenses" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/NotePayable" xlink:href="vtsi-20220630.xsd#NotePayable" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/RelatedPartyTransactions" xlink:href="vtsi-20220630.xsd#RelatedPartyTransactions" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/CommitmentsAndContingencies" xlink:href="vtsi-20220630.xsd#CommitmentsAndContingencies" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/StockholdersEquity" xlink:href="vtsi-20220630.xsd#StockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/SubsequentEvents" xlink:href="vtsi-20220630.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies" xlink:href="vtsi-20220630.xsd#OrganizationAndSignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesTables" xlink:href="vtsi-20220630.xsd#OrganizationAndSignificantAccountingPoliciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/InventoryTables" xlink:href="vtsi-20220630.xsd#InventoryTables" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/PropertyAndEquipmentTables" xlink:href="vtsi-20220630.xsd#PropertyAndEquipmentTables" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/IntangibleAssetTables" xlink:href="vtsi-20220630.xsd#IntangibleAssetTables" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/LeasesTables" xlink:href="vtsi-20220630.xsd#LeasesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/AccruedExpensesTables" xlink:href="vtsi-20220630.xsd#AccruedExpensesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/NotePayableTables" xlink:href="vtsi-20220630.xsd#NotePayableTables" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/StockholdersEquityTables" xlink:href="vtsi-20220630.xsd#StockholdersEquityTables" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfEarningsPerShareDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfEarningsPerShareDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" xlink:href="vtsi-20220630.xsd#OrganizationAndSignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfInventoryDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfInventoryDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/InventoryDetailsNarrative" xlink:href="vtsi-20220630.xsd#InventoryDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfPropertyAndEquipmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/PropertyAndEquipmentDetailsNarrative" xlink:href="vtsi-20220630.xsd#PropertyAndEquipmentDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfIntangibleAssetDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfIntangibleAssetDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/IntangibleAssetDetailsNarrative" xlink:href="vtsi-20220630.xsd#IntangibleAssetDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfFutureMinimumLeasePaymentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/LeasesDetailsNarrative" xlink:href="vtsi-20220630.xsd#LeasesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfAccruedCompensationAndRelatedCostsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfNotesPayableDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfNotesPayableDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/NotePayableDetailsNarrative" xlink:href="vtsi-20220630.xsd#NotePayableDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative" xlink:href="vtsi-20220630.xsd#RelatedPartyTransactionsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:href="vtsi-20220630.xsd#CommitmentsAndContingenciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfNon-qualifiedStockOptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/StockholdersEquityDetailsNarrative" xlink:href="vtsi-20220630.xsd#StockholdersEquityDetailsNarrative" xlink:type="simple" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/Cover" xlink:title="00000001 - Document - Cover" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/BalanceSheets" xlink:title="00000002 - Statement - Balance Sheets">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent" />
      <link:calculationArc order="2" 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/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:calculationArc order="3" 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/2022/elts/us-gaap-2022.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="loc_us-gaapUnbilledReceivablesCurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapUnbilledReceivablesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsNoncurrent" xlink:label="loc_us-gaapAssetsNoncurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsNoncurrent" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsNoncurrent" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsNoncurrent" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepositsAssetsNoncurrent" xlink:label="loc_us-gaapDepositsAssetsNoncurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsNoncurrent" xlink:to="loc_us-gaapDepositsAssetsNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaapOtherAssetsNoncurrent" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsNoncurrent" xlink:to="loc_us-gaapOtherAssetsNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="loc_us-gaapDeferredIncomeTaxAssetsNet" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsNoncurrent" xlink:to="loc_us-gaapDeferredIncomeTaxAssetsNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapAssetsNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="loc_us-gaapEmployeeRelatedLiabilitiesCurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapEmployeeRelatedLiabilitiesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccountsPayableAndOtherAccruedLiabilitiesCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapAccountsPayableAndOtherAccruedLiabilitiesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NotesPayableCurrent" xlink:label="loc_us-gaapNotesPayableCurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapNotesPayableCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityCurrent" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapContractWithCustomerLiabilityCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="loc_us-gaapLiabilitiesNoncurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityNoncurrent" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesNoncurrent" xlink:to="loc_us-gaapContractWithCustomerLiabilityNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermNotesPayable" xlink:label="loc_us-gaapLongTermNotesPayable" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesNoncurrent" xlink:to="loc_us-gaapLongTermNotesPayable" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesNoncurrent" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="loc_us-gaapOtherLiabilitiesNoncurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesNoncurrent" xlink:to="loc_us-gaapOtherLiabilitiesNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapLiabilitiesNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValue" xlink:label="loc_us-gaapPreferredStockValue" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapPreferredStockValue" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue" />
      <link:calculationArc order="2" 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/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="loc_us-gaapAdditionalPaidInCapital" />
      <link:calculationArc order="3" 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/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit" />
      <link:calculationArc order="4" 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/2022/elts/us-gaap-2022.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:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="loc_us-gaapCommitmentsAndContingencies" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaapCommitmentsAndContingencies" xlink:type="arc" weight="1" />
      <link:calculationArc order="3" 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://virtra.com/role/BalanceSheetsParenthetical" xlink:title="00000003 - Statement - Balance Sheets (Parenthetical)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/StatementsOfOperations" xlink:title="00000004 - Statement - Statements of Operations (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapGrossProfit" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaapCostOfGoodsAndServicesSold" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapGrossProfit" xlink:to="loc_us-gaapCostOfGoodsAndServicesSold" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="loc_us-gaapGeneralAndAdministrativeExpense" />
      <link:calculationArc order="1" 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/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense" />
      <link:calculationArc order="2" 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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="loc_us-gaapNonoperatingIncomeExpense" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncome" xlink:label="loc_us-gaapOtherNonoperatingIncome" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNonoperatingIncomeExpense" xlink:to="loc_us-gaapOtherNonoperatingIncome" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingExpense" xlink:label="loc_us-gaapOtherNonoperatingExpense" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNonoperatingIncomeExpense" xlink:to="loc_us-gaapOtherNonoperatingExpense" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapOperatingIncomeLoss" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapNonoperatingIncomeExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapNetIncomeLoss" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/StatementsOfChangesInStockholdersEquity" xlink:title="00000005 - Statement - Statements of Changes in Stockholders&apos; Equity (Unaudited)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/StatementsOfCashFlows" xlink:title="00000006 - Statement - Statements of Cash Flows (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapShareBasedCompensation" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IssuanceOfStockAndWarrantsForServicesOrClaims" xlink:label="loc_us-gaapIssuanceOfStockAndWarrantsForServicesOrClaims" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIssuanceOfStockAndWarrantsForServicesOrClaims" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable" />
      <link:calculationArc order="6" 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/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:calculationArc order="7" 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/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="loc_us-gaapIncreaseDecreaseInDeferredIncomeTaxes" />
      <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInDeferredIncomeTaxes" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:label="loc_us-gaapIncreaseDecreaseInDeferredRevenue" />
      <link:calculationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInDeferredRevenue" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="loc_us-gaapIncreaseDecreaseInOtherOperatingAssets" />
      <link:calculationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInOtherOperatingAssets" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDepositOtherAssets" xlink:label="loc_us-gaapIncreaseDecreaseInDepositOtherAssets" />
      <link:calculationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInDepositOtherAssets" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
      <link:calculationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingLeaseLiability" />
      <link:calculationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInOperatingLeaseLiability" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" />
      <link:calculationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="loc_us-gaapPaymentsToAcquireIntangibleAssets" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapPaymentsToAcquireIntangibleAssets" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:calculationArc order="2" 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="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="loc_us-gaapRepaymentsOfLongTermDebt" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapRepaymentsOfLongTermDebt" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceInitialPublicOffering" xlink:label="loc_us-gaapProceedsFromIssuanceInitialPublicOffering" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapProceedsFromIssuanceInitialPublicOffering" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="loc_us-gaapProceedsFromStockOptionsExercised" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapProceedsFromStockOptionsExercised" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/OrganizationAndSignificantAccountingPolicies" xlink:title="00000007 - Disclosure - Organization and Significant Accounting Policies" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/Inventory" xlink:title="00000008 - Disclosure - Inventory" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/PropertyAndEquipment" xlink:title="00000009 - Disclosure - Property and Equipment" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/IntangibleAsset" xlink:title="00000010 - Disclosure - Intangible Asset" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/Leases" xlink:title="00000011 - Disclosure - Leases" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/AccruedExpenses" xlink:title="00000012 - Disclosure - Accrued Expenses" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/NotePayable" xlink:title="00000013 - Disclosure - Note Payable" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/RelatedPartyTransactions" xlink:title="00000014 - Disclosure - Related Party Transactions" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/CommitmentsAndContingencies" xlink:title="00000015 - Disclosure - Commitments and Contingencies" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/StockholdersEquity" xlink:title="00000016 - Disclosure - Stockholders&#8217; Equity" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/SubsequentEvents" xlink:title="00000017 - Disclosure - Subsequent Events" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies" xlink:title="00000018 - Disclosure - Organization and Significant Accounting Policies (Policies)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesTables" xlink:title="00000019 - Disclosure - Organization and Significant Accounting Policies (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/InventoryTables" xlink:title="00000020 - Disclosure - Inventory (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/PropertyAndEquipmentTables" xlink:title="00000021 - Disclosure - Property and Equipment (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/IntangibleAssetTables" xlink:title="00000022 - Disclosure - Intangible Asset (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/LeasesTables" xlink:title="00000023 - Disclosure - Leases (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/AccruedExpensesTables" xlink:title="00000024 - Disclosure - Accrued Expenses (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/NotePayableTables" xlink:title="00000025 - Disclosure - Note Payable (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/StockholdersEquityTables" xlink:title="00000026 - Disclosure - Stockholders&#8217; Equity (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfEarningsPerShareDetails" xlink:title="00000027 - Disclosure - Schedule of Earnings Per Share (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" xlink:title="00000028 - Disclosure - Organization and Significant Accounting Policies (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfInventoryDetails" xlink:title="00000029 - Disclosure - Schedule of Inventory (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessAndRawMaterials" xlink:label="loc_us-gaapInventoryWorkInProcessAndRawMaterials" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryNet" xlink:to="loc_us-gaapInventoryWorkInProcessAndRawMaterials" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryValuationReserves" xlink:label="loc_us-gaapInventoryValuationReserves" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryNet" xlink:to="loc_us-gaapInventoryValuationReserves" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/InventoryDetailsNarrative" xlink:title="00000030 - Disclosure - Inventory (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails" xlink:title="00000031 - Disclosure - Schedule of Property and Equipment (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaapPropertyPlantAndEquipmentGross" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:to="loc_us-gaapPropertyPlantAndEquipmentGross" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:to="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/PropertyAndEquipmentDetailsNarrative" xlink:title="00000032 - Disclosure - Property and Equipment (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfIntangibleAssetDetails" xlink:title="00000033 - Disclosure - Schedule of Intangible Asset (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsGross" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsGross" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/IntangibleAssetDetailsNarrative" xlink:title="00000034 - Disclosure - Intangible Asset (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesDetails" xlink:title="00000035 - Disclosure - Schedule of Balance Sheet Classification of Lease Assets and Liabilities (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails" xlink:title="00000036 - Disclosure - Schedule of Future Minimum Lease Payments (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/LeasesDetailsNarrative" xlink:title="00000037 - Disclosure - Leases (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails" xlink:title="00000038 - Disclosure - Schedule of Accrued Compensation and Related Costs (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="loc_us-gaapEmployeeRelatedLiabilitiesCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapEmployeeRelatedLiabilitiesCurrent" xlink:to="loc_us-gaapAccruedSalariesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedEmployeeBenefitsCurrent" xlink:label="loc_us-gaapAccruedEmployeeBenefitsCurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapEmployeeRelatedLiabilitiesCurrent" xlink:to="loc_us-gaapAccruedEmployeeBenefitsCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedVacationCurrent" xlink:label="loc_us-gaapAccruedVacationCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapEmployeeRelatedLiabilitiesCurrent" xlink:to="loc_us-gaapAccruedVacationCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredCompensationCashBasedArrangementsLiabilityCurrent" xlink:label="loc_us-gaapDeferredCompensationCashBasedArrangementsLiabilityCurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapEmployeeRelatedLiabilitiesCurrent" xlink:to="loc_us-gaapDeferredCompensationCashBasedArrangementsLiabilityCurrent" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" xlink:title="00000039 - Disclosure - Schedule of Accrued Expenses and Other Current Liabilities (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccountsPayableAndOtherAccruedLiabilitiesCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:label="loc_us-gaapProductWarrantyAccrualClassifiedCurrent" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccountsPayableAndOtherAccruedLiabilitiesCurrent" xlink:to="loc_us-gaapProductWarrantyAccrualClassifiedCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TaxesPayableCurrent" xlink:label="loc_us-gaapTaxesPayableCurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccountsPayableAndOtherAccruedLiabilitiesCurrent" xlink:to="loc_us-gaapTaxesPayableCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherBorrowings" xlink:label="loc_us-gaapOtherBorrowings" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccountsPayableAndOtherAccruedLiabilitiesCurrent" xlink:to="loc_us-gaapOtherBorrowings" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfNotesPayableDetails" xlink:title="00000040 - Disclosure - Schedule of Notes Payable (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NotesPayableCurrent" xlink:label="loc_us-gaapNotesPayableCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="loc_us-gaapDebtInstrumentFaceAmount" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNotesPayableCurrent" xlink:to="loc_us-gaapDebtInstrumentFaceAmount" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPayableCurrent" xlink:label="loc_us-gaapInterestPayableCurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNotesPayableCurrent" xlink:to="loc_us-gaapInterestPayableCurrent" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/NotePayableDetailsNarrative" xlink:title="00000041 - Disclosure - Note Payable (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative" xlink:title="00000042 - Disclosure - Related Party Transactions (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:title="00000043 - Disclosure - Commitments and Contingencies (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails" xlink:title="00000044 - Disclosure - Schedule of Non-qualified Stock Options (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://virtra.com/role/StockholdersEquityDetailsNarrative" xlink:title="00000045 - Disclosure - Stockholders&#8217; Equity (Details Narrative)" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>8
<FILENAME>vtsi-20220630_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.15b -->
    <!-- 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://virtra.com/role/Cover" xlink:href="vtsi-20220630.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/BalanceSheets" xlink:href="vtsi-20220630.xsd#BalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/BalanceSheetsParenthetical" xlink:href="vtsi-20220630.xsd#BalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/StatementsOfOperations" xlink:href="vtsi-20220630.xsd#StatementsOfOperations" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/StatementsOfChangesInStockholdersEquity" xlink:href="vtsi-20220630.xsd#StatementsOfChangesInStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/StatementsOfCashFlows" xlink:href="vtsi-20220630.xsd#StatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/OrganizationAndSignificantAccountingPolicies" xlink:href="vtsi-20220630.xsd#OrganizationAndSignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/Inventory" xlink:href="vtsi-20220630.xsd#Inventory" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/PropertyAndEquipment" xlink:href="vtsi-20220630.xsd#PropertyAndEquipment" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/IntangibleAsset" xlink:href="vtsi-20220630.xsd#IntangibleAsset" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/Leases" xlink:href="vtsi-20220630.xsd#Leases" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/AccruedExpenses" xlink:href="vtsi-20220630.xsd#AccruedExpenses" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/NotePayable" xlink:href="vtsi-20220630.xsd#NotePayable" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/RelatedPartyTransactions" xlink:href="vtsi-20220630.xsd#RelatedPartyTransactions" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/CommitmentsAndContingencies" xlink:href="vtsi-20220630.xsd#CommitmentsAndContingencies" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/StockholdersEquity" xlink:href="vtsi-20220630.xsd#StockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/SubsequentEvents" xlink:href="vtsi-20220630.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies" xlink:href="vtsi-20220630.xsd#OrganizationAndSignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesTables" xlink:href="vtsi-20220630.xsd#OrganizationAndSignificantAccountingPoliciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/InventoryTables" xlink:href="vtsi-20220630.xsd#InventoryTables" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/PropertyAndEquipmentTables" xlink:href="vtsi-20220630.xsd#PropertyAndEquipmentTables" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/IntangibleAssetTables" xlink:href="vtsi-20220630.xsd#IntangibleAssetTables" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/LeasesTables" xlink:href="vtsi-20220630.xsd#LeasesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/AccruedExpensesTables" xlink:href="vtsi-20220630.xsd#AccruedExpensesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/NotePayableTables" xlink:href="vtsi-20220630.xsd#NotePayableTables" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/StockholdersEquityTables" xlink:href="vtsi-20220630.xsd#StockholdersEquityTables" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfEarningsPerShareDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfEarningsPerShareDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" xlink:href="vtsi-20220630.xsd#OrganizationAndSignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfInventoryDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfInventoryDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/InventoryDetailsNarrative" xlink:href="vtsi-20220630.xsd#InventoryDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfPropertyAndEquipmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/PropertyAndEquipmentDetailsNarrative" xlink:href="vtsi-20220630.xsd#PropertyAndEquipmentDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfIntangibleAssetDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfIntangibleAssetDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/IntangibleAssetDetailsNarrative" xlink:href="vtsi-20220630.xsd#IntangibleAssetDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfFutureMinimumLeasePaymentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/LeasesDetailsNarrative" xlink:href="vtsi-20220630.xsd#LeasesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfAccruedCompensationAndRelatedCostsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfNotesPayableDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfNotesPayableDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/NotePayableDetailsNarrative" xlink:href="vtsi-20220630.xsd#NotePayableDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative" xlink:href="vtsi-20220630.xsd#RelatedPartyTransactionsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:href="vtsi-20220630.xsd#CommitmentsAndContingenciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfNon-qualifiedStockOptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/StockholdersEquityDetailsNarrative" xlink:href="vtsi-20220630.xsd#StockholdersEquityDetailsNarrative" 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://virtra.com/role/Cover" xlink:title="00000001 - Document - Cover" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/BalanceSheets" xlink:title="00000002 - Statement - Balance Sheets">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonClassAMember" xlink:label="loc_us-gaapCommonClassAMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonClassAMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonClassBMember" xlink:label="loc_us-gaapCommonClassBMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonClassBMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaapAssetsAbstract_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAssetsAbstract_70" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaapAssetsCurrentAbstract_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsAbstract_70" xlink:to="loc_us-gaapAssetsCurrentAbstract_70" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashAndCashEquivalentsAtCarryingValue_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsCurrentAbstract_70" xlink:to="loc_us-gaapCashAndCashEquivalentsAtCarryingValue_70" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsCurrentAbstract_70" xlink:to="loc_us-gaapAccountsReceivableNetCurrent_70" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsCurrentAbstract_70" xlink:to="loc_us-gaapInventoryNet_70" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="loc_us-gaapUnbilledReceivablesCurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsCurrentAbstract_70" xlink:to="loc_us-gaapUnbilledReceivablesCurrent_70" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsCurrentAbstract_70" xlink:to="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent_70" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsCurrentAbstract_70" xlink:to="loc_us-gaapAssetsCurrent_70" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsNoncurrentAbstract" xlink:label="loc_us-gaapAssetsNoncurrentAbstract_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsAbstract_70" xlink:to="loc_us-gaapAssetsNoncurrentAbstract_70" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsNoncurrentAbstract_70" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet_70" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsNoncurrentAbstract_70" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset_70" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsNoncurrentAbstract_70" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill_70" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepositsAssetsNoncurrent" xlink:label="loc_us-gaapDepositsAssetsNoncurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsNoncurrentAbstract_70" xlink:to="loc_us-gaapDepositsAssetsNoncurrent_70" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaapOtherAssetsNoncurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsNoncurrentAbstract_70" xlink:to="loc_us-gaapOtherAssetsNoncurrent_70" xlink:type="arc" order="13" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="loc_us-gaapDeferredIncomeTaxAssetsNet_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsNoncurrentAbstract_70" xlink:to="loc_us-gaapDeferredIncomeTaxAssetsNet_70" xlink:type="arc" order="14" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsNoncurrent" xlink:label="loc_us-gaapAssetsNoncurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsNoncurrentAbstract_70" xlink:to="loc_us-gaapAssetsNoncurrent_70" xlink:type="arc" order="15" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsAbstract_70" xlink:to="loc_us-gaapAssets_70" xlink:type="arc" order="16" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_70" xlink:type="arc" order="17" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaapLiabilitiesCurrentAbstract_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_70" xlink:to="loc_us-gaapLiabilitiesCurrentAbstract_70" xlink:type="arc" order="18" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_70" xlink:to="loc_us-gaapAccountsPayableCurrent_70" xlink:type="arc" order="19" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="loc_us-gaapEmployeeRelatedLiabilitiesCurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_70" xlink:to="loc_us-gaapEmployeeRelatedLiabilitiesCurrent_70" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccountsPayableAndOtherAccruedLiabilitiesCurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_70" xlink:to="loc_us-gaapAccountsPayableAndOtherAccruedLiabilitiesCurrent_70" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NotesPayableCurrent" xlink:label="loc_us-gaapNotesPayableCurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_70" xlink:to="loc_us-gaapNotesPayableCurrent_70" xlink:type="arc" order="22" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_70" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent_70" xlink:type="arc" order="23" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityCurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_70" xlink:to="loc_us-gaapContractWithCustomerLiabilityCurrent_70" xlink:type="arc" order="24" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_70" xlink:to="loc_us-gaapLiabilitiesCurrent_70" xlink:type="arc" order="25" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesNoncurrentAbstract" xlink:label="loc_us-gaapLiabilitiesNoncurrentAbstract_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_70" xlink:to="loc_us-gaapLiabilitiesNoncurrentAbstract_70" xlink:type="arc" order="26" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityNoncurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract_70" xlink:to="loc_us-gaapContractWithCustomerLiabilityNoncurrent_70" xlink:type="arc" order="27" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermNotesPayable" xlink:label="loc_us-gaapLongTermNotesPayable_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract_70" xlink:to="loc_us-gaapLongTermNotesPayable_70" xlink:type="arc" order="28" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract_70" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent_70" xlink:type="arc" order="29" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="loc_us-gaapOtherLiabilitiesNoncurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract_70" xlink:to="loc_us-gaapOtherLiabilitiesNoncurrent_70" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="loc_us-gaapLiabilitiesNoncurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract_70" xlink:to="loc_us-gaapLiabilitiesNoncurrent_70" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_70" xlink:to="loc_us-gaapLiabilities_70" xlink:type="arc" order="32" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="loc_us-gaapCommitmentsAndContingencies_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_70" xlink:to="loc_us-gaapCommitmentsAndContingencies_70" xlink:type="arc" order="33" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaapStockholdersEquityAbstract_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_70" xlink:to="loc_us-gaapStockholdersEquityAbstract_70" xlink:type="arc" order="34" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValue" xlink:label="loc_us-gaapPreferredStockValue_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStockholdersEquityAbstract_70" xlink:to="loc_us-gaapPreferredStockValue_70" xlink:type="arc" order="35" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStockholdersEquityAbstract_70" xlink:to="loc_us-gaapCommonStockValue_70" xlink:type="arc" order="36" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="loc_us-gaapAdditionalPaidInCapital_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStockholdersEquityAbstract_70" xlink:to="loc_us-gaapAdditionalPaidInCapital_70" xlink:type="arc" order="37" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStockholdersEquityAbstract_70" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit_70" xlink:type="arc" order="38" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStockholdersEquityAbstract_70" xlink:to="loc_us-gaapStockholdersEquity_70" xlink:type="arc" order="39" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_70" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquity_70" xlink:type="arc" order="40" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/BalanceSheetsParenthetical" xlink:title="00000003 - Statement - Balance Sheets (Parenthetical)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonClassAMember" xlink:label="loc_us-gaapCommonClassAMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonClassAMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonClassBMember" xlink:label="loc_us-gaapCommonClassBMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonClassBMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="loc_us-gaapPreferredStockParOrStatedValuePerShare_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPreferredStockParOrStatedValuePerShare_70" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="loc_us-gaapPreferredStockSharesAuthorized_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPreferredStockSharesAuthorized_70" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="loc_us-gaapPreferredStockSharesIssued_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPreferredStockSharesIssued_70" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="loc_us-gaapPreferredStockSharesOutstanding_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPreferredStockSharesOutstanding_70" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaapCommonStockParOrStatedValuePerShare_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommonStockParOrStatedValuePerShare_70" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaapCommonStockSharesAuthorized_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommonStockSharesAuthorized_70" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaapCommonStockSharesIssued_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommonStockSharesIssued_70" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaapCommonStockSharesOutstanding_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommonStockSharesOutstanding_70" xlink:type="arc" order="7" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/StatementsOfOperations" xlink:title="00000004 - Statement - Statements of Operations (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/srt-2022.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/2022/elts/srt-2022.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/2022/elts/srt-2022.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="vtsi-20220630.xsd#VTSI_NetSalesMember" xlink:label="loc_VTSINetSalesMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_VTSINetSalesMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenuesAbstract" xlink:label="loc_us-gaapRevenuesAbstract_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenuesAbstract_90" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRevenuesAbstract_90" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_90" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaapCostOfGoodsAndServicesSold_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCostOfGoodsAndServicesSold_90" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapGrossProfit_90" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="loc_us-gaapOperatingExpensesAbstract_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingExpensesAbstract_90" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="loc_us-gaapGeneralAndAdministrativeExpense_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingExpensesAbstract_90" xlink:to="loc_us-gaapGeneralAndAdministrativeExpense_90" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingExpensesAbstract_90" xlink:to="loc_us-gaapResearchAndDevelopmentExpense_90" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingExpensesAbstract_90" xlink:to="loc_us-gaapOperatingExpenses_90" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingIncomeLoss_90" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:label="loc_us-gaapOtherNonoperatingIncomeExpenseAbstract_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherNonoperatingIncomeExpenseAbstract_90" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncome" xlink:label="loc_us-gaapOtherNonoperatingIncome_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOtherNonoperatingIncomeExpenseAbstract_90" xlink:to="loc_us-gaapOtherNonoperatingIncome_90" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingExpense" xlink:label="loc_us-gaapOtherNonoperatingExpense_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOtherNonoperatingIncomeExpenseAbstract_90" xlink:to="loc_us-gaapOtherNonoperatingExpense_90" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="loc_us-gaapNonoperatingIncomeExpense_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOtherNonoperatingIncomeExpenseAbstract_90" xlink:to="loc_us-gaapNonoperatingIncomeExpense_90" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_90" xlink:type="arc" order="13" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit_90" xlink:type="arc" order="14" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss_90" xlink:type="arc" order="15" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEarningsPerShareAbstract_90" xlink:type="arc" order="16" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEarningsPerShareAbstract_90" xlink:to="loc_us-gaapEarningsPerShareBasic_90" xlink:type="arc" order="17" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEarningsPerShareAbstract_90" xlink:to="loc_us-gaapEarningsPerShareDiluted_90" xlink:type="arc" order="18" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract" xlink:label="loc_us-gaapEarningsPerShareBasicOtherDisclosuresAbstract_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEarningsPerShareBasicOtherDisclosuresAbstract_90" xlink:type="arc" order="19" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEarningsPerShareBasicOtherDisclosuresAbstract_90" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic_90" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEarningsPerShareBasicOtherDisclosuresAbstract_90" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding_90" xlink:type="arc" order="21" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/StatementsOfChangesInStockholdersEquity" xlink:title="00000005 - Statement - Statements of Changes in Stockholders&apos; Equity (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockMember" xlink:label="loc_us-gaapPreferredStockMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapPreferredStockMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapCommonStockMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaapAdditionalPaidInCapitalMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapAdditionalPaidInCapitalMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockMember" xlink:label="loc_us-gaapTreasuryStockMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapTreasuryStockMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapRetainedEarningsMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity_70" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesOutstanding_70" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised_70" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_70" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices_70" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices_70" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices" xlink:label="loc_VTSIAdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_VTSIAdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices_70" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss_70" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueNewIssues_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueNewIssues_70" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_70" xlink:type="arc" order="10" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/StatementsOfCashFlows" xlink:title="00000006 - Statement - Statements of Cash Flows (Unaudited)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/OrganizationAndSignificantAccountingPolicies" xlink:title="00000007 - Disclosure - Organization and Significant Accounting Policies" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/Inventory" xlink:title="00000008 - Disclosure - Inventory" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/PropertyAndEquipment" xlink:title="00000009 - Disclosure - Property and Equipment" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/IntangibleAsset" xlink:title="00000010 - Disclosure - Intangible Asset" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/Leases" xlink:title="00000011 - Disclosure - Leases" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/AccruedExpenses" xlink:title="00000012 - Disclosure - Accrued Expenses" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/NotePayable" xlink:title="00000013 - Disclosure - Note Payable" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/RelatedPartyTransactions" xlink:title="00000014 - Disclosure - Related Party Transactions" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/CommitmentsAndContingencies" xlink:title="00000015 - Disclosure - Commitments and Contingencies" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/StockholdersEquity" xlink:title="00000016 - Disclosure - Stockholders&#8217; Equity" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/SubsequentEvents" xlink:title="00000017 - Disclosure - Subsequent Events" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies" xlink:title="00000018 - Disclosure - Organization and Significant Accounting Policies (Policies)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesTables" xlink:title="00000019 - Disclosure - Organization and Significant Accounting Policies (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/InventoryTables" xlink:title="00000020 - Disclosure - Inventory (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/PropertyAndEquipmentTables" xlink:title="00000021 - Disclosure - Property and Equipment (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/IntangibleAssetTables" xlink:title="00000022 - Disclosure - Intangible Asset (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/LeasesTables" xlink:title="00000023 - Disclosure - Leases (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/AccruedExpensesTables" xlink:title="00000024 - Disclosure - Accrued Expenses (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/NotePayableTables" xlink:title="00000025 - Disclosure - Note Payable (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/StockholdersEquityTables" xlink:title="00000026 - Disclosure - Stockholders&#8217; Equity (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfEarningsPerShareDetails" xlink:title="00000027 - Disclosure - Schedule of Earnings Per Share (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/srt-2022.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/2022/elts/srt-2022.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/2022/elts/srt-2022.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="vtsi-20220630.xsd#VTSI_GeographicDistributionCommercialMember" xlink:label="loc_VTSIGeographicDistributionCommercialMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_VTSIGeographicDistributionCommercialMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_GeographicDistributionGovernmentMember" xlink:label="loc_VTSIGeographicDistributionGovernmentMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_VTSIGeographicDistributionGovernmentMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeographicDistributionForeignMember" xlink:label="loc_us-gaapGeographicDistributionForeignMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_us-gaapGeographicDistributionForeignMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_SimulatorsandAccessoriesRevenue" xlink:label="loc_VTSISimulatorsandAccessoriesRevenue_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_VTSISimulatorsandAccessoriesRevenue_170" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ExtendedServicetypeWarranties" xlink:label="loc_VTSIExtendedServicetypeWarranties_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_VTSIExtendedServicetypeWarranties_170" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_CustomizedSoftwareAndCustomizedContentScenarios" xlink:label="loc_VTSICustomizedSoftwareAndCustomizedContentScenarios_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_VTSICustomizedSoftwareAndCustomizedContentScenarios_170" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_InstallationAndTraining" xlink:label="loc_VTSIInstallationAndTraining_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_VTSIInstallationAndTraining_170" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_LicensingAndRoyaltiesRevenue" xlink:label="loc_VTSILicensingAndRoyaltiesRevenue_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_VTSILicensingAndRoyaltiesRevenue_170" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_170" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss_170" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic_170" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_IncrementalCommonSharesAttributableToStockOptions" xlink:label="loc_VTSIIncrementalCommonSharesAttributableToStockOptions_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_VTSIIncrementalCommonSharesAttributableToStockOptions_170" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding_170" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEarningsPerShareBasic_170" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEarningsPerShareDiluted_170" xlink:type="arc" order="11" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" xlink:title="00000028 - Disclosure - Organization and Significant Accounting Policies (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductInformationLineItems" xlink:label="loc_us-gaapProductInformationLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfProductInformationTable" xlink:label="loc_us-gaapScheduleOfProductInformationTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapScheduleOfProductInformationTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerMember" xlink:label="loc_us-gaapRevenueFromContractWithCustomerMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapRevenueFromContractWithCustomerMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerProductAndServiceBenchmarkMember" xlink:label="loc_us-gaapRevenueFromContractWithCustomerProductAndServiceBenchmarkMember_180" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapRevenueFromContractWithCustomerProductAndServiceBenchmarkMember_180" xlink:type="arc" order="181" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember_200" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsReceivableMember_200" xlink:type="arc" order="202" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapConcentrationRiskByTypeAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="loc_us-gaapCustomerConcentrationRiskMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_us-gaapCustomerConcentrationRiskMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis" xlink:label="loc_srtMajorCustomersAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_srtMajorCustomersAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.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/2022/elts/srt-2022.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="vtsi-20220630.xsd#VTSI_GovernmentCustomersMember" xlink:label="loc_VTSIGovernmentCustomersMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_VTSIGovernmentCustomersMember_0" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_CommercialCustomersMember" xlink:label="loc_VTSICommercialCustomersMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_VTSICommercialCustomersMember_10" xlink:type="arc" order="13" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_InternationalCustomersMember" xlink:label="loc_VTSIInternationalCustomersMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_VTSIInternationalCustomersMember_20" xlink:type="arc" order="23" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_NoCommercialCustomerMember" xlink:label="loc_VTSINoCommercialCustomerMember_180" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_VTSINoCommercialCustomerMember_180" xlink:type="arc" order="183" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_OneCommercialCustomerMember" xlink:label="loc_VTSIOneCommercialCustomerMember_200" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_VTSIOneCommercialCustomerMember_200" xlink:type="arc" order="204" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaapIncomeStatementLocationAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapIncomeStatementLocationAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaapIncomeStatementLocationDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapIncomeStatementLocationAxis" xlink:to="loc_us-gaapIncomeStatementLocationDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaapIncomeStatementLocationDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapIncomeStatementLocationAxis" xlink:to="loc_us-gaapIncomeStatementLocationDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_DeferredRevenueMember" xlink:label="loc_VTSIDeferredRevenueMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeStatementLocationDomain" xlink:to="loc_VTSIDeferredRevenueMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:label="loc_us-gaapChangeInAccountingEstimateByTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapChangeInAccountingEstimateByTypeAxis" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:label="loc_us-gaapChangeInAccountingEstimateTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapChangeInAccountingEstimateByTypeAxis" xlink:to="loc_us-gaapChangeInAccountingEstimateTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:label="loc_us-gaapChangeInAccountingEstimateTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapChangeInAccountingEstimateByTypeAxis" xlink:to="loc_us-gaapChangeInAccountingEstimateTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_WarrantyMember" xlink:label="loc_VTSIWarrantyMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapChangeInAccountingEstimateTypeDomain" xlink:to="loc_VTSIWarrantyMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardDateAxis" xlink:label="loc_us-gaapAwardDateAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapAwardDateAxis" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardDateDomain" xlink:label="loc_us-gaapAwardDateDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAwardDateAxis" xlink:to="loc_us-gaapAwardDateDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardDateDomain" xlink:label="loc_us-gaapAwardDateDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapAwardDateAxis" xlink:to="loc_us-gaapAwardDateDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_OneYearOrLessMember" xlink:label="loc_VTSIOneYearOrLessMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAwardDateDomain" xlink:to="loc_VTSIOneYearOrLessMember_80" xlink:type="arc" order="82" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_LongerThanOneYearMember" xlink:label="loc_VTSILongerThanOneYearMember_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAwardDateDomain" xlink:to="loc_VTSILongerThanOneYearMember_100" xlink:type="arc" order="102" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_OneYearMember" xlink:label="loc_VTSIOneYearMember_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAwardDateDomain" xlink:to="loc_VTSIOneYearMember_120" xlink:type="arc" order="122" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_srtStatementGeographicalAxis" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.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/2022/elts/srt-2022.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="vtsi-20220630.xsd#VTSI_OneFederalAgencyMember" xlink:label="loc_VTSIOneFederalAgencyMember_190" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_VTSIOneFederalAgencyMember_190" xlink:type="arc" order="193" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_OneStateAgencyMember" xlink:label="loc_VTSIOneStateAgencyMember_200" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_VTSIOneStateAgencyMember_200" xlink:type="arc" order="201" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_230" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaapConcentrationRiskPercentage1_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapConcentrationRiskPercentage1_230" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityCurrent_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapContractWithCustomerLiabilityCurrent_230" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtendedProductWarrantyAccrual" xlink:label="loc_us-gaapExtendedProductWarrantyAccrual_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapExtendedProductWarrantyAccrual_230" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="loc_us-gaapContractWithCustomerLiabilityRevenueRecognized_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapContractWithCustomerLiabilityRevenueRecognized_230" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashFDICInsuredAmount" xlink:label="loc_us-gaapCashFDICInsuredAmount_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapCashFDICInsuredAmount_230" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashUninsuredAmount" xlink:label="loc_us-gaapCashUninsuredAmount_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapCashUninsuredAmount_230" xlink:type="arc" order="6" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfInventoryDetails" xlink:title="00000029 - Disclosure - Schedule of Inventory (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/InventoryDetailsNarrative" xlink:title="00000030 - Disclosure - Inventory (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="loc_us-gaapBalanceSheetLocationAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapBalanceSheetLocationAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaapBalanceSheetLocationDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapBalanceSheetLocationAxis" xlink:to="loc_us-gaapBalanceSheetLocationDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaapBalanceSheetLocationDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapBalanceSheetLocationAxis" xlink:to="loc_us-gaapBalanceSheetLocationDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_SparePartsMember" xlink:label="loc_VTSISparePartsMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapBalanceSheetLocationDomain" xlink:to="loc_VTSISparePartsMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaapOtherAssetsNoncurrent_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherAssetsNoncurrent_30" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails" xlink:title="00000031 - Disclosure - Schedule of Property and Equipment (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_LandMember" xlink:label="loc_us-gaapLandMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLandMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="loc_us-gaapBuildingAndBuildingImprovementsMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapBuildingAndBuildingImprovementsMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComputerEquipmentMember" xlink:label="loc_us-gaapComputerEquipmentMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapComputerEquipmentMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_FurnitureAndOfficeEquipmentMember" xlink:label="loc_VTSIFurnitureAndOfficeEquipmentMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_VTSIFurnitureAndOfficeEquipmentMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="loc_us-gaapMachineryAndEquipmentMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapMachineryAndEquipmentMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_STEPEquipmentMember" xlink:label="loc_VTSISTEPEquipmentMember_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_VTSISTEPEquipmentMember_100" xlink:type="arc" order="101" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdImprovementsMember_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLeaseholdImprovementsMember_120" xlink:type="arc" order="121" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressMember" xlink:label="loc_us-gaapConstructionInProgressMember_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapConstructionInProgressMember_140" xlink:type="arc" order="141" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaapPropertyPlantAndEquipmentGross_190" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentGross_190" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_190" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_190" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet_190" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet_190" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/PropertyAndEquipmentDetailsNarrative" xlink:title="00000032 - Disclosure - Property and Equipment (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfIntangibleAssetDetails" xlink:title="00000033 - Disclosure - Schedule of Intangible Asset (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PatentsMember" xlink:label="loc_us-gaapPatentsMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_us-gaapPatentsMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_CapitalizedMediaContentMember" xlink:label="loc_VTSICapitalizedMediaContentMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_VTSICapitalizedMediaContentMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_AcquiredLeaseIntangibleAssetsMember" xlink:label="loc_VTSIAcquiredLeaseIntangibleAssetsMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_VTSIAcquiredLeaseIntangibleAssetsMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsGross_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsGross_90" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization_90" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill_90" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/IntangibleAssetDetailsNarrative" xlink:title="00000034 - Disclosure - Intangible Asset (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesDetails" xlink:title="00000035 - Disclosure - Schedule of Balance Sheet Classification of Lease Assets and Liabilities (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails" xlink:title="00000036 - Disclosure - Schedule of Future Minimum Lease Payments (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/LeasesDetailsNarrative" xlink:title="00000037 - Disclosure - Leases (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails" xlink:title="00000038 - Disclosure - Schedule of Accrued Compensation and Related Costs (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" xlink:title="00000039 - Disclosure - Schedule of Accrued Expenses and Other Current Liabilities (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfNotesPayableDetails" xlink:title="00000040 - Disclosure - Schedule of Notes Payable (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtLineItems" xlink:label="loc_us-gaapShortTermDebtLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShortTermDebtTable" xlink:label="loc_us-gaapScheduleOfShortTermDebtTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapScheduleOfShortTermDebtTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="loc_us-gaapShortTermDebtTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapShortTermDebtTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="loc_us-gaapShortTermDebtTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapShortTermDebtTypeAxis" xlink:to="loc_us-gaapShortTermDebtTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="loc_us-gaapShortTermDebtTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShortTermDebtTypeAxis" xlink:to="loc_us-gaapShortTermDebtTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_NotesPayableMember" xlink:label="loc_VTSINotesPayableMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_VTSINotesPayableMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="loc_us-gaapLongtermDebtTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapLongtermDebtTypeAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="loc_us-gaapLongtermDebtTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapLongtermDebtTypeAxis" xlink:to="loc_us-gaapLongtermDebtTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="loc_us-gaapLongtermDebtTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapLongtermDebtTypeAxis" xlink:to="loc_us-gaapLongtermDebtTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_NotesPayableMember" xlink:label="loc_VTSINotesPayableMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLongtermDebtTypeDomain" xlink:to="loc_VTSINotesPayableMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="loc_us-gaapDebtInstrumentFaceAmount_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentFaceAmount_50" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPayableCurrent" xlink:label="loc_us-gaapInterestPayableCurrent_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapInterestPayableCurrent_50" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NotesPayableCurrent" xlink:label="loc_us-gaapNotesPayableCurrent_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapNotesPayableCurrent_50" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermNotesPayable" xlink:label="loc_us-gaapLongTermNotesPayable_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapLongTermNotesPayable_50" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/NotePayableDetailsNarrative" xlink:title="00000041 - Disclosure - Note Payable (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtLineItems" xlink:label="loc_us-gaapShortTermDebtLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShortTermDebtTable" xlink:label="loc_us-gaapScheduleOfShortTermDebtTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapScheduleOfShortTermDebtTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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="vtsi-20220630.xsd#VTSI_PropertyMember" xlink:label="loc_VTSIPropertyMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_VTSIPropertyMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ArizonaBankAndTrustMember" xlink:label="loc_VTSIArizonaBankAndTrustMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_VTSIArizonaBankAndTrustMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaapDebtInstrumentAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapDebtInstrumentAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaapDebtInstrumentNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapDebtInstrumentAxis" xlink:to="loc_us-gaapDebtInstrumentNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaapDebtInstrumentNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDebtInstrumentAxis" xlink:to="loc_us-gaapDebtInstrumentNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_OneHundredAndNineteenRegularMonthlyPaymentsMember" xlink:label="loc_VTSIOneHundredAndNineteenRegularMonthlyPaymentsMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_VTSIOneHundredAndNineteenRegularMonthlyPaymentsMember_20" xlink:type="arc" order="22" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_OneIrregularPaymentMember" xlink:label="loc_VTSIOneIrregularPaymentMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_VTSIOneIrregularPaymentMember_30" xlink:type="arc" order="32" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment_50" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromLoans" xlink:label="loc_us-gaapProceedsFromLoans_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapProceedsFromLoans_50" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateDuringPeriod" xlink:label="loc_us-gaapDebtInstrumentInterestRateDuringPeriod_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateDuringPeriod_50" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentPeriodicPayment" xlink:label="loc_us-gaapDebtInstrumentPeriodicPayment_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentPeriodicPayment_50" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentMaturityDate" xlink:label="loc_us-gaapDebtInstrumentMaturityDate_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentMaturityDate_50" xlink:type="arc" order="4" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative" xlink:title="00000042 - Disclosure - Related Party Transactions (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:label="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:label="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_srtTitleOfIndividualAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ChiefExecutiveOfficerAndChiefOperatingOfficerMember" xlink:label="loc_VTSIChiefExecutiveOfficerAndChiefOperatingOfficerMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_VTSIChiefExecutiveOfficerAndChiefOperatingOfficerMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_BoardMember" xlink:label="loc_VTSIBoardMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_VTSIBoardMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapCommonStockMember_20" xlink:type="arc" order="22" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRedeemedOrCalledDuringPeriodShares" xlink:label="loc_us-gaapStockRedeemedOrCalledDuringPeriodShares_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapStockRedeemedOrCalledDuringPeriodShares_80" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaapAllocatedShareBasedCompensationExpense_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapAllocatedShareBasedCompensationExpense_80" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_80" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaapCommonStockParOrStatedValuePerShare_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapCommonStockParOrStatedValuePerShare_80" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised_80" xlink:type="arc" order="4" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:title="00000043 - Disclosure - Commitments and Contingencies (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:label="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:label="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_srtTitleOfIndividualAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_CoChiefExecutiveOfficerMember" xlink:label="loc_VTSICoChiefExecutiveOfficerMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_VTSICoChiefExecutiveOfficerMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ChiefOperatingOfficerMember" xlink:label="loc_srtChiefOperatingOfficerMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_srtChiefOperatingOfficerMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_us-gaapAwardTypeAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaapRestrictedStockUnitsRSUMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockUnitsRSUMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardDateAxis" xlink:label="loc_us-gaapAwardDateAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_us-gaapAwardDateAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardDateDomain" xlink:label="loc_us-gaapAwardDateDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAwardDateAxis" xlink:to="loc_us-gaapAwardDateDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardDateDomain" xlink:label="loc_us-gaapAwardDateDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapAwardDateAxis" xlink:to="loc_us-gaapAwardDateDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_JuneThirtyTwoThousandAndTwentyTwoMember" xlink:label="loc_VTSIJuneThirtyTwoThousandAndTwentyTwoMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAwardDateDomain" xlink:to="loc_VTSIJuneThirtyTwoThousandAndTwentyTwoMember_30" xlink:type="arc" order="32" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis" xlink:label="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredBonusAndProfitSharingArrangementIndividualContractTypeOfDeferredCompensationDomain" xlink:label="loc_us-gaapDeferredBonusAndProfitSharingArrangementIndividualContractTypeOfDeferredCompensationDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis" xlink:to="loc_us-gaapDeferredBonusAndProfitSharingArrangementIndividualContractTypeOfDeferredCompensationDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredBonusAndProfitSharingArrangementIndividualContractTypeOfDeferredCompensationDomain" xlink:label="loc_us-gaapDeferredBonusAndProfitSharingArrangementIndividualContractTypeOfDeferredCompensationDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis" xlink:to="loc_us-gaapDeferredBonusAndProfitSharingArrangementIndividualContractTypeOfDeferredCompensationDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredProfitSharingMember" xlink:label="loc_us-gaapDeferredProfitSharingMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredBonusAndProfitSharingArrangementIndividualContractTypeOfDeferredCompensationDomain" xlink:to="loc_us-gaapDeferredProfitSharingMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_100" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapNetIncomeLoss_100" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapShareBasedCompensation_100" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapOperatingExpenses_100" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails" xlink:title="00000044 - Disclosure - Schedule of Non-qualified Stock Options (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OffsettingAssetsLineItems" xlink:label="loc_us-gaapOffsettingAssetsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OffsettingAssetsTable" xlink:label="loc_us-gaapOffsettingAssetsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapOffsettingAssetsLineItems" xlink:to="loc_us-gaapOffsettingAssetsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="loc_us-gaapDerivativeInstrumentRiskAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapOffsettingAssetsTable" xlink:to="loc_us-gaapDerivativeInstrumentRiskAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="loc_us-gaapDerivativeContractTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapDerivativeInstrumentRiskAxis" xlink:to="loc_us-gaapDerivativeContractTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="loc_us-gaapDerivativeContractTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDerivativeInstrumentRiskAxis" xlink:to="loc_us-gaapDerivativeContractTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_NonQualifiedStockOptionMember" xlink:label="loc_VTSINonQualifiedStockOptionMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDerivativeContractTypeDomain" xlink:to="loc_VTSINonQualifiedStockOptionMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOffsettingAssetsLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_70" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOffsettingAssetsLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_70" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOffsettingAssetsLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_70" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOffsettingAssetsLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_70" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross" xlink:label="loc_VTSIShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOffsettingAssetsLineItems" xlink:to="loc_VTSIShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross_70" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue" xlink:label="loc_VTSIShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOffsettingAssetsLineItems" xlink:to="loc_VTSIShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue_70" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOffsettingAssetsLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_70" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOffsettingAssetsLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_70" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOffsettingAssetsLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_70" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOffsettingAssetsLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_70" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOffsettingAssetsLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_70" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOffsettingAssetsLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_70" xlink:type="arc" order="13" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://virtra.com/role/StockholdersEquityDetailsNarrative" xlink:title="00000045 - Disclosure - Stockholders&#8217; Equity (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockLineItems" xlink:label="loc_us-gaapClassOfStockLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="loc_us-gaapScheduleOfStockByClassTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapScheduleOfStockByClassTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonStockMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.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/2022/elts/srt-2022.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/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapPlanNameAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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="vtsi-20220630.xsd#VTSI_TwoThousandAndSeventeenEquityIncentivePlanMember" xlink:label="loc_VTSITwoThousandAndSeventeenEquityIncentivePlanMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_VTSITwoThousandAndSeventeenEquityIncentivePlanMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_EquityIncentivePlanMember" xlink:label="loc_VTSIEquityIncentivePlanMember_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_VTSIEquityIncentivePlanMember_150" xlink:type="arc" order="151" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_srtTitleOfIndividualAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ChiefExecutiveOfficerOneMember" xlink:label="loc_VTSIChiefExecutiveOfficerOneMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_VTSIChiefExecutiveOfficerOneMember_80" xlink:type="arc" order="82" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ChiefExecutiveOfficerTwoMember" xlink:label="loc_VTSIChiefExecutiveOfficerTwoMember_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_VTSIChiefExecutiveOfficerTwoMember_90" xlink:type="arc" order="92" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ChiefOperatingOfficerMember" xlink:label="loc_srtChiefOperatingOfficerMember_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_srtChiefOperatingOfficerMember_100" xlink:type="arc" order="102" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_Mr.GivensMember" xlink:label="loc_VTSIMr.GivensMember_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_VTSIMr.GivensMember_130" xlink:type="arc" order="131" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_InstitutionalInvestorsMember" xlink:label="loc_VTSIInstitutionalInvestorsMember_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_VTSIInstitutionalInvestorsMember_160" xlink:type="arc" order="162" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapAwardTypeAxis" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember" xlink:label="loc_us-gaapRestrictedStockMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockMember_80" xlink:type="arc" order="83" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaapRestrictedStockUnitsRSUMember_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockUnitsRSUMember_150" xlink:type="arc" order="153" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_RegisteredDirectorOfferingMember" xlink:label="loc_VTSIRegisteredDirectorOfferingMember_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_VTSIRegisteredDirectorOfferingMember_160" xlink:type="arc" order="163" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="loc_us-gaapTypeOfArrangementAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_SecuritiesPurchaseAgreementMember" xlink:label="loc_VTSISecuritiesPurchaseAgreementMember_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_VTSISecuritiesPurchaseAgreementMember_160" xlink:type="arc" order="161" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_PlacementAgencyAgreementMember" xlink:label="loc_VTSIPlacementAgencyAgreementMember_180" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_VTSIPlacementAgencyAgreementMember_180" xlink:type="arc" order="181" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_RothCapitalPartnersLLCMember" xlink:label="loc_VTSIRothCapitalPartnersLLCMember_180" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_VTSIRothCapitalPartnersLLCMember_180" xlink:type="arc" order="182" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="loc_us-gaapSubsidiarySaleOfStockAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapSubsidiarySaleOfStockAxis" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="loc_us-gaapSaleOfStockNameOfTransactionDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapSubsidiarySaleOfStockAxis" xlink:to="loc_us-gaapSaleOfStockNameOfTransactionDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="loc_us-gaapSaleOfStockNameOfTransactionDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapSubsidiarySaleOfStockAxis" xlink:to="loc_us-gaapSaleOfStockNameOfTransactionDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_OfferingMember" xlink:label="loc_VTSIOfferingMember_200" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSaleOfStockNameOfTransactionDomain" xlink:to="loc_VTSIOfferingMember_200" xlink:type="arc" order="201" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaapStockRepurchasedDuringPeriodValue_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapStockRepurchasedDuringPeriodValue_220" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_220" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_220" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue" xlink:label="loc_VTSIShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_VTSIShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue_220" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_220" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="loc_us-gaapProceedsFromStockOptionsExercised_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapProceedsFromStockOptionsExercised_220" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_220" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_220" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_StockIssuedDuringPeriodsharesForSigningBonus" xlink:label="loc_VTSIStockIssuedDuringPeriodsharesForSigningBonus_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_VTSIStockIssuedDuringPeriodsharesForSigningBonus_220" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesIssuedPricePerShare" xlink:label="loc_us-gaapSharesIssuedPricePerShare_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSharesIssuedPricePerShare_220" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IssuanceOfStockAndWarrantsForServicesOrClaims" xlink:label="loc_us-gaapIssuanceOfStockAndWarrantsForServicesOrClaims_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapIssuanceOfStockAndWarrantsForServicesOrClaims_220" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights_220" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction" xlink:label="loc_us-gaapSaleOfStockNumberOfSharesIssuedInTransaction_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSaleOfStockNumberOfSharesIssuedInTransaction_220" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaapCommonStockParOrStatedValuePerShare_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapCommonStockParOrStatedValuePerShare_220" xlink:type="arc" order="13" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPricePerShare" xlink:label="loc_us-gaapSaleOfStockPricePerShare_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSaleOfStockPricePerShare_220" xlink:type="arc" order="14" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" xlink:label="loc_us-gaapSaleOfStockPercentageOfOwnershipAfterTransaction_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSaleOfStockPercentageOfOwnershipAfterTransaction_220" xlink:type="arc" order="15" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ReimbursementLegalFeesAndExpenses" xlink:label="loc_VTSIReimbursementLegalFeesAndExpenses_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_VTSIReimbursementLegalFeesAndExpenses_220" xlink:type="arc" order="16" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceInitialPublicOffering" xlink:label="loc_us-gaapProceedsFromIssuanceInitialPublicOffering_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapProceedsFromIssuanceInitialPublicOffering_220" xlink:type="arc" order="17" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherExpenses" xlink:label="loc_us-gaapOtherExpenses_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapOtherExpenses_220" xlink:type="arc" order="18" />
    </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>9
<FILENAME>vtsi-20220630_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.15b -->
    <!-- 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/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_StatementClassOfStockAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementClassOfStockAxis_lbl" xml:lang="en-US">Class of Stock [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonClassAMember" xlink:label="us-gaap_CommonClassAMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonClassAMember" xlink:to="us-gaap_CommonClassAMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonClassAMember_lbl" xml:lang="en-US">Common Class A [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonClassBMember" xlink:label="us-gaap_CommonClassBMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonClassBMember" xlink:to="us-gaap_CommonClassBMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonClassBMember_lbl" xml:lang="en-US">Common Class B [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.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="vtsi-20220630.xsd#VTSI_NetSalesMember" xlink:label="VTSI_NetSalesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_NetSalesMember" xlink:to="VTSI_NetSalesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_NetSalesMember_lbl" xml:lang="en-US">Net Sales [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockMember" xlink:label="us-gaap_PreferredStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockMember" xlink:to="us-gaap_PreferredStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockMember_lbl" xml:lang="en-US">Preferred Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockMember" xlink:label="us-gaap_TreasuryStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockMember" xlink:to="us-gaap_TreasuryStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockMember_lbl" xml:lang="en-US">Treasury Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/srt/2022/elts/srt-2022.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="vtsi-20220630.xsd#VTSI_GeographicDistributionCommercialMember" xlink:label="VTSI_GeographicDistributionCommercialMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_GeographicDistributionCommercialMember" xlink:to="VTSI_GeographicDistributionCommercialMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_GeographicDistributionCommercialMember_lbl" xml:lang="en-US">Commercial [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_GeographicDistributionGovernmentMember" xlink:label="VTSI_GeographicDistributionGovernmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_GeographicDistributionGovernmentMember" xlink:to="VTSI_GeographicDistributionGovernmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_GeographicDistributionGovernmentMember_lbl" xml:lang="en-US">Government [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeographicDistributionForeignMember" xlink:label="us-gaap_GeographicDistributionForeignMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeographicDistributionForeignMember" xlink:to="us-gaap_GeographicDistributionForeignMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GeographicDistributionForeignMember_lbl" xml:lang="en-US">Geographic Distribution, Foreign [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerMember" xlink:label="us-gaap_RevenueFromContractWithCustomerMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerMember" xlink:to="us-gaap_RevenueFromContractWithCustomerMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerMember_lbl" xml:lang="en-US">Revenue from Contract with Customer Benchmark [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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="https://xbrl.fasb.org/srt/2022/elts/srt-2022.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="vtsi-20220630.xsd#VTSI_GovernmentCustomersMember" xlink:label="VTSI_GovernmentCustomersMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_GovernmentCustomersMember" xlink:to="VTSI_GovernmentCustomersMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_GovernmentCustomersMember_lbl" xml:lang="en-US">Government Customers [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_CommercialCustomersMember" xlink:label="VTSI_CommercialCustomersMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_CommercialCustomersMember" xlink:to="VTSI_CommercialCustomersMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_CommercialCustomersMember_lbl" xml:lang="en-US">Commercial Customers [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_InternationalCustomersMember" xlink:label="VTSI_InternationalCustomersMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_InternationalCustomersMember" xlink:to="VTSI_InternationalCustomersMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_InternationalCustomersMember_lbl" xml:lang="en-US">International Customers [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementLocationAxis_lbl" xml:lang="en-US">Income Statement Location [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_DeferredRevenueMember" xlink:label="VTSI_DeferredRevenueMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_DeferredRevenueMember" xlink:to="VTSI_DeferredRevenueMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_DeferredRevenueMember_lbl" xml:lang="en-US">Deferred Revenue [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:label="us-gaap_ChangeInAccountingEstimateByTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:to="us-gaap_ChangeInAccountingEstimateByTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ChangeInAccountingEstimateByTypeAxis_lbl" xml:lang="en-US">Change in Accounting Estimate by Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_WarrantyMember" xlink:label="VTSI_WarrantyMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_WarrantyMember" xlink:to="VTSI_WarrantyMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_WarrantyMember_lbl" xml:lang="en-US">Warranty [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardDateAxis" xlink:label="us-gaap_AwardDateAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardDateAxis" xlink:to="us-gaap_AwardDateAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AwardDateAxis_lbl" xml:lang="en-US">Award Date [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_OneYearOrLessMember" xlink:label="VTSI_OneYearOrLessMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_OneYearOrLessMember" xlink:to="VTSI_OneYearOrLessMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_OneYearOrLessMember_lbl" xml:lang="en-US">One Year or Less [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_LongerThanOneYearMember" xlink:label="VTSI_LongerThanOneYearMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_LongerThanOneYearMember" xlink:to="VTSI_LongerThanOneYearMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_LongerThanOneYearMember_lbl" xml:lang="en-US">Longer Than One Year [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_OneYearMember" xlink:label="VTSI_OneYearMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_OneYearMember" xlink:to="VTSI_OneYearMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_OneYearMember_lbl" xml:lang="en-US">One Year [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerProductAndServiceBenchmarkMember" xlink:label="us-gaap_RevenueFromContractWithCustomerProductAndServiceBenchmarkMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerProductAndServiceBenchmarkMember" xlink:to="us-gaap_RevenueFromContractWithCustomerProductAndServiceBenchmarkMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerProductAndServiceBenchmarkMember_lbl" xml:lang="en-US">Revenue from Contract with Customer, Product and Service Benchmark [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_NoCommercialCustomerMember" xlink:label="VTSI_NoCommercialCustomerMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_NoCommercialCustomerMember" xlink:to="VTSI_NoCommercialCustomerMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_NoCommercialCustomerMember_lbl" xml:lang="en-US">No Commercial Customer [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_OneFederalAgencyMember" xlink:label="VTSI_OneFederalAgencyMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_OneFederalAgencyMember" xlink:to="VTSI_OneFederalAgencyMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_OneFederalAgencyMember_lbl" xml:lang="en-US">One Federal Agency [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_OneStateAgencyMember" xlink:label="VTSI_OneStateAgencyMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_OneStateAgencyMember" xlink:to="VTSI_OneStateAgencyMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_OneStateAgencyMember_lbl" xml:lang="en-US">One State Agency [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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="vtsi-20220630.xsd#VTSI_OneCommercialCustomerMember" xlink:label="VTSI_OneCommercialCustomerMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_OneCommercialCustomerMember" xlink:to="VTSI_OneCommercialCustomerMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_OneCommercialCustomerMember_lbl" xml:lang="en-US">One Commercial Customer [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BalanceSheetLocationAxis_lbl" xml:lang="en-US">Balance Sheet Location [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_SparePartsMember" xlink:label="VTSI_SparePartsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_SparePartsMember" xlink:to="VTSI_SparePartsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_SparePartsMember_lbl" xml:lang="en-US">Spare Parts [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandMember" xlink:label="us-gaap_LandMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LandMember" xlink:to="us-gaap_LandMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LandMember_lbl" xml:lang="en-US">Land [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingAndBuildingImprovementsMember" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember_lbl" xml:lang="en-US">Building and Building Improvements [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComputerEquipmentMember" xlink:label="us-gaap_ComputerEquipmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComputerEquipmentMember" xlink:to="us-gaap_ComputerEquipmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComputerEquipmentMember_lbl" xml:lang="en-US">Computer Equipment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_FurnitureAndOfficeEquipmentMember" xlink:label="VTSI_FurnitureAndOfficeEquipmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_FurnitureAndOfficeEquipmentMember" xlink:to="VTSI_FurnitureAndOfficeEquipmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_FurnitureAndOfficeEquipmentMember_lbl" xml:lang="en-US">Furniture And Office Equipment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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="vtsi-20220630.xsd#VTSI_STEPEquipmentMember" xlink:label="VTSI_STEPEquipmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_STEPEquipmentMember" xlink:to="VTSI_STEPEquipmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_STEPEquipmentMember_lbl" xml:lang="en-US">S T E P Equipment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConstructionInProgressMember" xlink:to="us-gaap_ConstructionInProgressMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConstructionInProgressMember_lbl" xml:lang="en-US">Construction in Progress [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PatentsMember" xlink:label="us-gaap_PatentsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PatentsMember" xlink:to="us-gaap_PatentsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PatentsMember_lbl" xml:lang="en-US">Patents [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_CapitalizedMediaContentMember" xlink:label="VTSI_CapitalizedMediaContentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_CapitalizedMediaContentMember" xlink:to="VTSI_CapitalizedMediaContentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_CapitalizedMediaContentMember_lbl" xml:lang="en-US">Capitalized Media Content [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_AcquiredLeaseIntangibleAssetsMember" xlink:label="VTSI_AcquiredLeaseIntangibleAssetsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_AcquiredLeaseIntangibleAssetsMember" xlink:to="VTSI_AcquiredLeaseIntangibleAssetsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_AcquiredLeaseIntangibleAssetsMember_lbl" xml:lang="en-US">Acquired Lease Intangible Assets [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_PropertyMember" xlink:label="VTSI_PropertyMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_PropertyMember" xlink:to="VTSI_PropertyMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_PropertyMember_lbl" xml:lang="en-US">Property [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LegalEntityAxis" xlink:to="dei_LegalEntityAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LegalEntityAxis_lbl" xml:lang="en-US">Legal Entity [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ArizonaBankAndTrustMember" xlink:label="VTSI_ArizonaBankAndTrustMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_ArizonaBankAndTrustMember" xlink:to="VTSI_ArizonaBankAndTrustMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_ArizonaBankAndTrustMember_lbl" xml:lang="en-US">Arizona Bank and Trust [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentAxis_lbl" xml:lang="en-US">Debt Instrument [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_OneHundredAndNineteenRegularMonthlyPaymentsMember" xlink:label="VTSI_OneHundredAndNineteenRegularMonthlyPaymentsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_OneHundredAndNineteenRegularMonthlyPaymentsMember" xlink:to="VTSI_OneHundredAndNineteenRegularMonthlyPaymentsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_OneHundredAndNineteenRegularMonthlyPaymentsMember_lbl" xml:lang="en-US">199 Regular Monthly Payments [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_OneIrregularPaymentMember" xlink:label="VTSI_OneIrregularPaymentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_OneIrregularPaymentMember" xlink:to="VTSI_OneIrregularPaymentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_OneIrregularPaymentMember_lbl" xml:lang="en-US">One Irregular Payment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="us-gaap_ShortTermDebtTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermDebtTypeAxis" xlink:to="us-gaap_ShortTermDebtTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermDebtTypeAxis_lbl" xml:lang="en-US">Short-Term Debt, Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_NotesPayableMember" xlink:label="VTSI_NotesPayableMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_NotesPayableMember" xlink:to="VTSI_NotesPayableMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_NotesPayableMember_lbl" xml:lang="en-US">Notes Payable [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongtermDebtTypeAxis_lbl" xml:lang="en-US">Long-Term Debt, Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_TitleOfIndividualAxis_lbl" xml:lang="en-US">Title of Individual [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ChiefExecutiveOfficerAndChiefOperatingOfficerMember" xlink:label="VTSI_ChiefExecutiveOfficerAndChiefOperatingOfficerMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_ChiefExecutiveOfficerAndChiefOperatingOfficerMember" xlink:to="VTSI_ChiefExecutiveOfficerAndChiefOperatingOfficerMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_ChiefExecutiveOfficerAndChiefOperatingOfficerMember_lbl" xml:lang="en-US">Chief Executive Officer and Chief Operating Officer [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_BoardMember" xlink:label="VTSI_BoardMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_BoardMember" xlink:to="VTSI_BoardMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_BoardMember_lbl" xml:lang="en-US">Board [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_CoChiefExecutiveOfficerMember" xlink:label="VTSI_CoChiefExecutiveOfficerMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_CoChiefExecutiveOfficerMember" xlink:to="VTSI_CoChiefExecutiveOfficerMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_CoChiefExecutiveOfficerMember_lbl" xml:lang="en-US">Co-Chief Executive Officer [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xml:lang="en-US">Restricted Stock Units (RSUs) [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ChiefOperatingOfficerMember" xlink:label="srt_ChiefOperatingOfficerMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ChiefOperatingOfficerMember" xlink:to="srt_ChiefOperatingOfficerMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ChiefOperatingOfficerMember_lbl" xml:lang="en-US">Chief Operating Officer [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_JuneThirtyTwoThousandAndTwentyTwoMember" xlink:label="VTSI_JuneThirtyTwoThousandAndTwentyTwoMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_JuneThirtyTwoThousandAndTwentyTwoMember" xlink:to="VTSI_JuneThirtyTwoThousandAndTwentyTwoMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_JuneThirtyTwoThousandAndTwentyTwoMember_lbl" xml:lang="en-US">June 30, 2022 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis_lbl" xml:lang="en-US">Deferred Bonus and Profit Sharing Arrangements, Individual Contracts, Type of Deferred Compensation [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredProfitSharingMember" xlink:label="us-gaap_DeferredProfitSharingMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredProfitSharingMember" xlink:to="us-gaap_DeferredProfitSharingMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredProfitSharingMember_lbl" xml:lang="en-US">Deferred Profit Sharing [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.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/2022/elts/srt-2022.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/2022/elts/us-gaap-2022.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="vtsi-20220630.xsd#VTSI_TwoThousandAndSeventeenEquityIncentivePlanMember" xlink:label="VTSI_TwoThousandAndSeventeenEquityIncentivePlanMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_TwoThousandAndSeventeenEquityIncentivePlanMember" xlink:to="VTSI_TwoThousandAndSeventeenEquityIncentivePlanMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_TwoThousandAndSeventeenEquityIncentivePlanMember_lbl" xml:lang="en-US">2017 Equity Incentive Plan [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ChiefExecutiveOfficerOneMember" xlink:label="VTSI_ChiefExecutiveOfficerOneMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_ChiefExecutiveOfficerOneMember" xlink:to="VTSI_ChiefExecutiveOfficerOneMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_ChiefExecutiveOfficerOneMember_lbl" xml:lang="en-US">Chief Executive Officer One [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockMember" xlink:to="us-gaap_RestrictedStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedStockMember_lbl" xml:lang="en-US">Restricted Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ChiefExecutiveOfficerTwoMember" xlink:label="VTSI_ChiefExecutiveOfficerTwoMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_ChiefExecutiveOfficerTwoMember" xlink:to="VTSI_ChiefExecutiveOfficerTwoMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_ChiefExecutiveOfficerTwoMember_lbl" xml:lang="en-US">Chief Executive Officer Two [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_Mr.GivensMember" xlink:label="VTSI_Mr.GivensMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_Mr.GivensMember" xlink:to="VTSI_Mr.GivensMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_Mr.GivensMember_lbl" xml:lang="en-US">Mr.Givens [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_EquityIncentivePlanMember" xlink:label="VTSI_EquityIncentivePlanMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_EquityIncentivePlanMember" xlink:to="VTSI_EquityIncentivePlanMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_EquityIncentivePlanMember_lbl" xml:lang="en-US">Equity Incentive Plan [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_TypeOfArrangementAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TypeOfArrangementAxis_lbl" xml:lang="en-US">Collaborative Arrangement and Arrangement Other than Collaborative [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_SecuritiesPurchaseAgreementMember" xlink:label="VTSI_SecuritiesPurchaseAgreementMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_SecuritiesPurchaseAgreementMember" xlink:to="VTSI_SecuritiesPurchaseAgreementMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_SecuritiesPurchaseAgreementMember_lbl" xml:lang="en-US">Securities Purchase Agreement [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_InstitutionalInvestorsMember" xlink:label="VTSI_InstitutionalInvestorsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_InstitutionalInvestorsMember" xlink:to="VTSI_InstitutionalInvestorsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_InstitutionalInvestorsMember_lbl" xml:lang="en-US">Institutional Investors [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_RegisteredDirectorOfferingMember" xlink:label="VTSI_RegisteredDirectorOfferingMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_RegisteredDirectorOfferingMember" xlink:to="VTSI_RegisteredDirectorOfferingMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_RegisteredDirectorOfferingMember_lbl" xml:lang="en-US">Registered Director Offering [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_PlacementAgencyAgreementMember" xlink:label="VTSI_PlacementAgencyAgreementMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_PlacementAgencyAgreementMember" xlink:to="VTSI_PlacementAgencyAgreementMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_PlacementAgencyAgreementMember_lbl" xml:lang="en-US">Placement Agency Agreement [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_RothCapitalPartnersLLCMember" xlink:label="VTSI_RothCapitalPartnersLLCMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_RothCapitalPartnersLLCMember" xlink:to="VTSI_RothCapitalPartnersLLCMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_RothCapitalPartnersLLCMember_lbl" xml:lang="en-US">Roth Capital Partners, LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SubsidiarySaleOfStockAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsidiarySaleOfStockAxis_lbl" xml:lang="en-US">Sale of Stock [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_OfferingMember" xlink:label="VTSI_OfferingMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_OfferingMember" xlink:to="VTSI_OfferingMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_OfferingMember_lbl" xml:lang="en-US">Offering [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_lbl" xml:lang="en-US">Derivative Instrument [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_NonQualifiedStockOptionMember" xlink:label="VTSI_NonQualifiedStockOptionMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_NonQualifiedStockOptionMember" xlink:to="VTSI_NonQualifiedStockOptionMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_NonQualifiedStockOptionMember_lbl" xml:lang="en-US">Non Qualified Stock Option [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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">Inventory, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="us-gaap_UnbilledReceivablesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnbilledReceivablesCurrent" xlink:to="us-gaap_UnbilledReceivablesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnbilledReceivablesCurrent_lbl" xml:lang="en-US">Unbilled revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsNoncurrentAbstract" xlink:label="us-gaap_AssetsNoncurrentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsNoncurrentAbstract" xlink:to="us-gaap_AssetsNoncurrentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsNoncurrentAbstract_lbl" xml:lang="en-US">Long-term assets:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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">Property and equipment, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US">Operating lease right-of-use asset, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_DepositsAssetsNoncurrent" xlink:label="us-gaap_DepositsAssetsNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepositsAssetsNoncurrent" xlink:to="us-gaap_DepositsAssetsNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepositsAssetsNoncurrent_lbl" xml:lang="en-US">Security deposits, long-term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US">Other assets, long-term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsNoncurrent" xlink:label="us-gaap_AssetsNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsNoncurrent" xlink:to="us-gaap_AssetsNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AssetsNoncurrent_lbl" xml:lang="en-US">Total long-term assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" xml:lang="en-US">Accrued compensation and related costs</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent_lbl" xml:lang="en-US">Accrued expenses and other current liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NotesPayableCurrent" xlink:label="us-gaap_NotesPayableCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NotesPayableCurrent" xlink:to="us-gaap_NotesPayableCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NotesPayableCurrent_lbl" xml:lang="en-US">Note payable, current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US">Operating lease liability, short-term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US">Deferred revenue, short-term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesNoncurrentAbstract" xlink:label="us-gaap_LiabilitiesNoncurrentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesNoncurrentAbstract" xlink:to="us-gaap_LiabilitiesNoncurrentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesNoncurrentAbstract_lbl" xml:lang="en-US">Long-term liabilities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl" xml:lang="en-US">Deferred revenue, long-term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermNotesPayable" xlink:label="us-gaap_LongTermNotesPayable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermNotesPayable" xlink:to="us-gaap_LongTermNotesPayable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermNotesPayable_lbl" xml:lang="en-US">Note payable, long-term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US">Operating lease liability, long-term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesNoncurrent" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_lbl" xml:lang="en-US">Other long-term liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="us-gaap_LiabilitiesNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesNoncurrent" xlink:to="us-gaap_LiabilitiesNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesNoncurrent_lbl" xml:lang="en-US">Total long-term liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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 (See Note 9)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockValue" xlink:to="us-gaap_PreferredStockValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockValue_lbl" xml:lang="en-US">Preferred stock $0.0001 par value; 2,500,000 authorized; no shares issued or outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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, value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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">Retained earnings</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Preferred stock, par value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesAuthorized" xlink:to="us-gaap_PreferredStockSharesAuthorized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl" xml:lang="en-US">Preferred stock, shares authorized</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesIssued" xlink:to="us-gaap_PreferredStockSharesIssued_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesIssued_lbl" xml:lang="en-US">Preferred stock, shares issued</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesOutstanding" xlink:to="us-gaap_PreferredStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xml:lang="en-US">Preferred stock, shares outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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, shares authorized</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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, shares issued</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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, shares outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenuesAbstract" xlink:label="us-gaap_RevenuesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenuesAbstract" xlink:to="us-gaap_RevenuesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenuesAbstract_lbl" xml:lang="en-US">Revenues:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xml:lang="en-US">Total revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xml:lang="en-US">Cost of sales</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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 development</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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">Net operating expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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">Income from operations</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpenseAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseAbstract_lbl" xml:lang="en-US">Other income (expense):</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncome" xlink:label="us-gaap_OtherNonoperatingIncome" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncome" xlink:to="us-gaap_OtherNonoperatingIncome_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNonoperatingIncome_lbl" xml:lang="en-US">Other income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingExpense" xlink:label="us-gaap_OtherNonoperatingExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingExpense" xlink:to="us-gaap_OtherNonoperatingExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_OtherNonoperatingExpense_lbl" xml:lang="en-US">Other expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xml:lang="en-US">Net other income (expense)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US">Income before provision for income taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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">Provision for income taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/totalLabel" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US">Net income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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">Net income per common share:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract" xlink:label="us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract" xlink:to="us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract_lbl" xml:lang="en-US">Weighted average shares outstanding:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Basic</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Diluted</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">Beginning balance, value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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">Stock options exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US">Stock options exercised, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:label="us-gaap_StockIssuedDuringPeriodValueIssuedForServices" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:to="us-gaap_StockIssuedDuringPeriodValueIssuedForServices_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueIssuedForServices_lbl" xml:lang="en-US">Stock issued for services</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:to="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices_lbl" xml:lang="en-US">Stock issued for services, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices" xlink:label="VTSI_AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices" xlink:to="VTSI_AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices_lbl" xml:lang="en-US">Stock reserved for future services</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLoss_2_lbl" xml:lang="en-US">Net income (loss)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" xml:lang="en-US">Stock issued for cash in offering, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xml:lang="en-US">Stock issued for cash in offering, net, shares</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">Ending balance, value</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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetIncomeLoss_3_lbl" xml:lang="en-US">Net income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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 (used in) provided by operating activities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:to="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_lbl" xml:lang="en-US">Right of use amortization</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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">Employee stock compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IssuanceOfStockAndWarrantsForServicesOrClaims" xlink:label="us-gaap_IssuanceOfStockAndWarrantsForServicesOrClaims" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IssuanceOfStockAndWarrantsForServicesOrClaims" xlink:to="us-gaap_IssuanceOfStockAndWarrantsForServicesOrClaims_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IssuanceOfStockAndWarrantsForServicesOrClaims_lbl" xml:lang="en-US">Stock issued for service</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US">Changes in operating assets and liabilities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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">Inventory, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:to="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_lbl" xml:lang="en-US">Deferred taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:label="us-gaap_IncreaseDecreaseInDeferredRevenue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:to="us-gaap_IncreaseDecreaseInDeferredRevenue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInDeferredRevenue_lbl" xml:lang="en-US">Unbilled revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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 current assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" xml:lang="en-US">Other assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDepositOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInDepositOtherAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInDepositOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInDepositOtherAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInDepositOtherAssets_lbl" xml:lang="en-US">Security deposits, long-term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" xml:lang="en-US">Accounts payable and other accrued expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl" xml:lang="en-US">Payments on operating lease liability</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xml:lang="en-US">Deferred revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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 (used in) operating activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireIntangibleAssets" xlink:to="us-gaap_PaymentsToAcquireIntangibleAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets_lbl" xml:lang="en-US">Purchase of intangible assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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 property and equipment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US">Cash flows from financing activities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLongTermDebt" xlink:to="us-gaap_RepaymentsOfLongTermDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfLongTermDebt_lbl" xml:lang="en-US">Principal payments of debt</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceInitialPublicOffering" xlink:label="us-gaap_ProceedsFromIssuanceInitialPublicOffering" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceInitialPublicOffering" xlink:to="us-gaap_ProceedsFromIssuanceInitialPublicOffering_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProceedsFromIssuanceInitialPublicOffering_lbl" xml:lang="en-US">Stock issued for cash in offering, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromStockOptionsExercised" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xml:lang="en-US">Stock options exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US">Net cash provided by (used in) financing activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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 increase (decrease) in cash and restricted cash</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xml:lang="en-US">Cash and cash equivalents, beginning of period</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2_lbl" xml:lang="en-US">Cash and cash equivalents, end of period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalCashFlowElementsAbstract" xlink:label="us-gaap_SupplementalCashFlowElementsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_SupplementalCashFlowElementsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SupplementalCashFlowElementsAbstract_lbl" xml:lang="en-US">Supplemental disclosure of cash flow information:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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 (refunded)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:label="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:to="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract_lbl" xml:lang="en-US">Supplemental disclosure of non-cash investing and financing activities:</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ConversionOfInventoryToPropertyAndEquipment" xlink:label="VTSI_ConversionOfInventoryToPropertyAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_ConversionOfInventoryToPropertyAndEquipment" xlink:to="VTSI_ConversionOfInventoryToPropertyAndEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_ConversionOfInventoryToPropertyAndEquipment_lbl" xml:lang="en-US">Conversion of inventory to property and equipment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:to="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl" xml:lang="en-US">Organization and Significant Accounting Policies</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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">Inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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">Property and Equipment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US">Intangible Asset</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LeasesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeasesAbstract_lbl" xml:lang="en-US">Leases [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesOfLesseeDisclosureTextBlock" xlink:label="us-gaap_LeasesOfLesseeDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeasesOfLesseeDisclosureTextBlock" xlink:to="us-gaap_LeasesOfLesseeDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeasesOfLesseeDisclosureTextBlock_lbl" xml:lang="en-US">Leases</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl" xml:lang="en-US">Note Payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="us-gaap_RelatedPartyTransactionsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsAbstract_lbl" xml:lang="en-US">Related Party Transactions [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xml:lang="en-US">Related Party Transactions</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xml:lang="en-US">Stockholders&#8217; Equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsAbstract_lbl" xml:lang="en-US">Subsequent Events [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl" xml:lang="en-US">Subsequent Events</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_OrganizationAndBusinessOperationsPolicyTextBlock" xlink:label="VTSI_OrganizationAndBusinessOperationsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_OrganizationAndBusinessOperationsPolicyTextBlock" xlink:to="VTSI_OrganizationAndBusinessOperationsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_OrganizationAndBusinessOperationsPolicyTextBlock_lbl" xml:lang="en-US">Organization and Business Operations</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xml:lang="en-US">Basis of Presentation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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">Use of Estimates</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/label" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" xml:lang="en-US">Revenue Recognition</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_DisaggregationOfRevenuePolicyTextBlock" xlink:label="VTSI_DisaggregationOfRevenuePolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_DisaggregationOfRevenuePolicyTextBlock" xlink:to="VTSI_DisaggregationOfRevenuePolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_DisaggregationOfRevenuePolicyTextBlock_lbl" xml:lang="en-US">Disaggregation of Revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepositContractsPolicy" xlink:label="us-gaap_DepositContractsPolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepositContractsPolicy" xlink:to="us-gaap_DepositContractsPolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepositContractsPolicy_lbl" xml:lang="en-US">Customer Deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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">Warranty</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskCreditRisk" xlink:to="us-gaap_ConcentrationRiskCreditRisk_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xml:lang="en-US">Concentration of Credit Risk and Major Customers and Suppliers</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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">Net Income per Common Share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xml:lang="en-US">Schedule of Earnings Per Share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/verboseLabel" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US">Schedule of Earnings Per Share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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">Schedule of Property and Equipment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" xlink:label="us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" xlink:to="us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_lbl" xml:lang="en-US">Schedule of Intangible Asset</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock" xlink:label="VTSI_ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock" xlink:to="VTSI_ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Schedule of Balance Sheet Classification of Lease Assets and Liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US">Schedule of Future Minimum Lease Payments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/label" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Schedule of Accrued Compensation and Related Costs</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:label="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:to="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock_lbl" xml:lang="en-US">Schedule of Accrued Expenses and Other Current Liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDebtTableTextBlock" xlink:to="us-gaap_ScheduleOfDebtTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock_lbl" xml:lang="en-US">Schedule of Notes Payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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">Schedule of Non-qualified Stock Options</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_SimulatorsandAccessoriesRevenue" xlink:label="VTSI_SimulatorsandAccessoriesRevenue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_SimulatorsandAccessoriesRevenue" xlink:to="VTSI_SimulatorsandAccessoriesRevenue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_SimulatorsandAccessoriesRevenue_lbl" xml:lang="en-US">Simulators and accessories</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ExtendedServicetypeWarranties" xlink:label="VTSI_ExtendedServicetypeWarranties" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_ExtendedServicetypeWarranties" xlink:to="VTSI_ExtendedServicetypeWarranties_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="VTSI_ExtendedServicetypeWarranties_lbl" xml:lang="en-US">Simulators and accessories</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_CustomizedSoftwareAndCustomizedContentScenarios" xlink:label="VTSI_CustomizedSoftwareAndCustomizedContentScenarios" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_CustomizedSoftwareAndCustomizedContentScenarios" xlink:to="VTSI_CustomizedSoftwareAndCustomizedContentScenarios_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="VTSI_CustomizedSoftwareAndCustomizedContentScenarios_lbl" xml:lang="en-US">Simulators and accessories</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_InstallationAndTraining" xlink:label="VTSI_InstallationAndTraining" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_InstallationAndTraining" xlink:to="VTSI_InstallationAndTraining_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="VTSI_InstallationAndTraining_lbl" xml:lang="en-US">Simulators and accessories</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_LicensingAndRoyaltiesRevenue" xlink:label="VTSI_LicensingAndRoyaltiesRevenue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_LicensingAndRoyaltiesRevenue" xlink:to="VTSI_LicensingAndRoyaltiesRevenue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="VTSI_LicensingAndRoyaltiesRevenue_lbl" xml:lang="en-US">Simulators and accessories</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_2_lbl" xml:lang="en-US">Simulators and accessories</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetIncomeLoss_4_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_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_2_lbl" xml:lang="en-US">Weighted average common stock outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_IncrementalCommonSharesAttributableToStockOptions" xlink:label="VTSI_IncrementalCommonSharesAttributableToStockOptions" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_IncrementalCommonSharesAttributableToStockOptions" xlink:to="VTSI_IncrementalCommonSharesAttributableToStockOptions_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_IncrementalCommonSharesAttributableToStockOptions_lbl" xml:lang="en-US">Incremental shares from stock options</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/label" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_2_lbl" xml:lang="en-US">Weighted average common stock outstanding diluted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfProductInformationTable" xlink:label="us-gaap_ScheduleOfProductInformationTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfProductInformationTable" xlink:to="us-gaap_ScheduleOfProductInformationTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfProductInformationTable_lbl" xml:lang="en-US">Schedule of Product Information [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductInformationLineItems" xlink:label="us-gaap_ProductInformationLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductInformationLineItems" xlink:to="us-gaap_ProductInformationLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductInformationLineItems_lbl" xml:lang="en-US">Product Information [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_3_lbl" xml:lang="en-US">Revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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">Concentration of credit risk</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_2_lbl" xml:lang="en-US">Customer deposits, current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtendedProductWarrantyAccrual" xlink:label="us-gaap_ExtendedProductWarrantyAccrual" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ExtendedProductWarrantyAccrual" xlink:to="us-gaap_ExtendedProductWarrantyAccrual_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ExtendedProductWarrantyAccrual_lbl" xml:lang="en-US">Extended warranties</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xml:lang="en-US">Revenue recognized</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashFDICInsuredAmount" xlink:label="us-gaap_CashFDICInsuredAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashFDICInsuredAmount" xlink:to="us-gaap_CashFDICInsuredAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashFDICInsuredAmount_lbl" xml:lang="en-US">FDIC insured amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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">Uninsured cash and cash equivalents</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessAndRawMaterials" xlink:label="us-gaap_InventoryWorkInProcessAndRawMaterials" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWorkInProcessAndRawMaterials" xlink:to="us-gaap_InventoryWorkInProcessAndRawMaterials_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryWorkInProcessAndRawMaterials_lbl" xml:lang="en-US">Raw materials and work in process</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2009/role/negatedLabel" xlink:label="us-gaap_InventoryValuationReserves_lbl" xml:lang="en-US">Reserve</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_InventoryNet_2_lbl" xml:lang="en-US">Total inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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">Total property and equipment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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 and amortization</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_2_lbl" xml:lang="en-US">Property and equipment, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xml:lang="en-US">Total intangible assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2009/role/negatedLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US">Less accumulated amortization</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_2_lbl" xml:lang="en-US">Intangible assets, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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 of intangible asset</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_2_lbl" xml:lang="en-US">Operating lease right-of-use assets, beginning</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:to="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_2_lbl" xml:lang="en-US">Amortization</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_3_lbl" xml:lang="en-US">Total operating lease right-of-use asset, ending</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_2_lbl" xml:lang="en-US">Operating lease liability, short-term</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_2_lbl" xml:lang="en-US">Operating lease liability, long-term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US">Total lease liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_lbl" xml:lang="en-US">2022</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US">2023</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US">2024</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US">Total lease payments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US">Less: imputed interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiability_2_lbl" xml:lang="en-US">Operating lease liability</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRent" xlink:label="us-gaap_PaymentsForRent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRent" xlink:to="us-gaap_PaymentsForRent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsForRent_lbl" xml:lang="en-US">Rent expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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">Salaries and wages payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedEmployeeBenefitsCurrent" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedEmployeeBenefitsCurrent" xlink:to="us-gaap_AccruedEmployeeBenefitsCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent_lbl" xml:lang="en-US">Employee benefits payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedVacationCurrent" xlink:label="us-gaap_AccruedVacationCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedVacationCurrent" xlink:to="us-gaap_AccruedVacationCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedVacationCurrent_lbl" xml:lang="en-US">Accrued paid time off (PTO)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredCompensationCashBasedArrangementsLiabilityCurrent" xlink:label="us-gaap_DeferredCompensationCashBasedArrangementsLiabilityCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCompensationCashBasedArrangementsLiabilityCurrent" xlink:to="us-gaap_DeferredCompensationCashBasedArrangementsLiabilityCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredCompensationCashBasedArrangementsLiabilityCurrent_lbl" xml:lang="en-US">Profit sharing payable</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_2_lbl" xml:lang="en-US">Total accrued compensation and related costs</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:label="us-gaap_ProductWarrantyAccrualClassifiedCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:to="us-gaap_ProductWarrantyAccrualClassifiedCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyAccrualClassifiedCurrent_lbl" xml:lang="en-US">Manufacturer&#8217;s warranties</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxesPayableCurrent" xlink:to="us-gaap_TaxesPayableCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TaxesPayableCurrent_lbl" xml:lang="en-US">Taxes payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherBorrowings" xlink:label="us-gaap_OtherBorrowings" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherBorrowings" xlink:to="us-gaap_OtherBorrowings_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherBorrowings_lbl" xml:lang="en-US">Miscellaneous payable</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent_2_lbl" xml:lang="en-US">Total accrued expenses and other current liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShortTermDebtTable" xlink:label="us-gaap_ScheduleOfShortTermDebtTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShortTermDebtTable" xlink:to="us-gaap_ScheduleOfShortTermDebtTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShortTermDebtTable_lbl" xml:lang="en-US">Schedule of Short-Term Debt [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtLineItems" xlink:label="us-gaap_ShortTermDebtLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermDebtLineItems" xlink:to="us-gaap_ShortTermDebtLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermDebtLineItems_lbl" xml:lang="en-US">Short-Term Debt [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentFaceAmount" xlink:to="us-gaap_DebtInstrumentFaceAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentFaceAmount_lbl" xml:lang="en-US">Note payable, principal</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPayableCurrent" xlink:label="us-gaap_InterestPayableCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPayableCurrent" xlink:to="us-gaap_InterestPayableCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestPayableCurrent_lbl" xml:lang="en-US">Accrued interest on note</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NotesPayableCurrent" xlink:to="us-gaap_NotesPayableCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NotesPayableCurrent_2_lbl" xml:lang="en-US">Note payable, short-term</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermNotesPayable" xlink:to="us-gaap_LongTermNotesPayable_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LongTermNotesPayable_2_lbl" xml:lang="en-US">Note payable, long term</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">Payment to acquire assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromLoans" xlink:label="us-gaap_ProceedsFromLoans" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromLoans" xlink:to="us-gaap_ProceedsFromLoans_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromLoans_lbl" xml:lang="en-US">Proceeds from bank loan</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateDuringPeriod" xlink:label="us-gaap_DebtInstrumentInterestRateDuringPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateDuringPeriod" xlink:to="us-gaap_DebtInstrumentInterestRateDuringPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentInterestRateDuringPeriod_lbl" xml:lang="en-US">Debt instrument interest rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentPeriodicPayment" xlink:label="us-gaap_DebtInstrumentPeriodicPayment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentPeriodicPayment" xlink:to="us-gaap_DebtInstrumentPeriodicPayment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentPeriodicPayment_lbl" xml:lang="en-US">Debt instrument periodic payment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentMaturityDate" xlink:label="us-gaap_DebtInstrumentMaturityDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentMaturityDate" xlink:to="us-gaap_DebtInstrumentMaturityDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentMaturityDate_lbl" xml:lang="en-US">Maturity date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:label="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable_lbl" xml:lang="en-US">Schedule of Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits, by Title of Individual and by Type of Deferred Compensation [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems_lbl" xml:lang="en-US">Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRedeemedOrCalledDuringPeriodShares" xlink:label="us-gaap_StockRedeemedOrCalledDuringPeriodShares" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRedeemedOrCalledDuringPeriodShares" xlink:to="us-gaap_StockRedeemedOrCalledDuringPeriodShares_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRedeemedOrCalledDuringPeriodShares_lbl" xml:lang="en-US">Stock reedemed or called during period shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xml:lang="en-US">Compensation expenses</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_2_lbl" xml:lang="en-US">Stock issued during the period, new issues</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_2_lbl" xml:lang="en-US">Stock option exercised, value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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 authorized</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensation_2_lbl" xml:lang="en-US">Share-Based Payment Arrangement, Noncash Expense</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</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OffsettingAssetsTable" xlink:label="us-gaap_OffsettingAssetsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OffsettingAssetsTable" xlink:to="us-gaap_OffsettingAssetsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OffsettingAssetsTable_lbl" xml:lang="en-US">Offsetting Assets [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OffsettingAssetsLineItems" xlink:label="us-gaap_OffsettingAssetsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OffsettingAssetsLineItems" xlink:to="us-gaap_OffsettingAssetsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OffsettingAssetsLineItems_lbl" xml:lang="en-US">Offsetting Assets [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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">Number of stock options, options outstanding, beginning of year</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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 exercise price option outstanding, beginning of year</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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">Number of stock options, granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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">Weighted exercise price, granted</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross" xlink:label="VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross" xlink:to="VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross_lbl" xml:lang="en-US">Number of stock options, redeemed</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue" xlink:label="VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue" xlink:to="VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue_lbl" xml:lang="en-US">Weighted exercise price redeemed</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/2009/role/negatedLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_2_lbl" xml:lang="en-US">Number of stock options, exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted exercise price exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl" xml:lang="en-US">Number of stock options, expired / terminated</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted exercise price expired / terminated</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">Number of stock options options outstanding end of period</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 exercise price, option outstanding end of period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xml:lang="en-US">Number of stock options options exercisable end of period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted exercise price, options exercisable, end of period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="us-gaap_ScheduleOfStockByClassTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_ScheduleOfStockByClassTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfStockByClassTable_lbl" xml:lang="en-US">Schedule of Stock by Class [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockLineItems" xlink:label="us-gaap_ClassOfStockLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_ClassOfStockLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ClassOfStockLineItems_lbl" xml:lang="en-US">Class of Stock [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodValue" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xml:lang="en-US">Stock repurchased during period, value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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">Options outstanding weighted average contractual term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Options exercisable weighted average contractual term</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue" xlink:label="VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue" xlink:to="VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue_lbl" xml:lang="en-US">Exercisable and outstanding intriinsic value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xml:lang="en-US">Intriinsic value</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromStockOptionsExercised" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_2_lbl" xml:lang="en-US">Proceeds from stock options exrercised</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_2_lbl" xml:lang="en-US">Stock issued during period shares based compensation authorized, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US">Number of shares granted</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_StockIssuedDuringPeriodsharesForSigningBonus" xlink:label="VTSI_StockIssuedDuringPeriodsharesForSigningBonus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_StockIssuedDuringPeriodsharesForSigningBonus" xlink:to="VTSI_StockIssuedDuringPeriodsharesForSigningBonus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_StockIssuedDuringPeriodsharesForSigningBonus_lbl" xml:lang="en-US">Stock issued during period for signing bonus, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesIssuedPricePerShare" xlink:label="us-gaap_SharesIssuedPricePerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesIssuedPricePerShare" xlink:to="us-gaap_SharesIssuedPricePerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesIssuedPricePerShare_lbl" xml:lang="en-US">Shares issued price per shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights_lbl" xml:lang="en-US">Restricted stock units vesting, description</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction" xlink:label="us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction" xlink:to="us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_lbl" xml:lang="en-US">Number of shares sold</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_2_lbl" xml:lang="en-US">Common stock par value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPricePerShare" xlink:label="us-gaap_SaleOfStockPricePerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SaleOfStockPricePerShare" xlink:to="us-gaap_SaleOfStockPricePerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SaleOfStockPricePerShare_lbl" xml:lang="en-US">Sale of stock, price per share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" xlink:label="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" xlink:to="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction_lbl" xml:lang="en-US">Sale of stock, percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ReimbursementLegalFeesAndExpenses" xlink:label="VTSI_ReimbursementLegalFeesAndExpenses" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_ReimbursementLegalFeesAndExpenses" xlink:to="VTSI_ReimbursementLegalFeesAndExpenses_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_ReimbursementLegalFeesAndExpenses_lbl" xml:lang="en-US">Reimbursement legal fees and expenses</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceInitialPublicOffering" xlink:to="us-gaap_ProceedsFromIssuanceInitialPublicOffering_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromIssuanceInitialPublicOffering_2_lbl" xml:lang="en-US">Proceeds from offering</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherExpenses" xlink:label="us-gaap_OtherExpenses" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherExpenses" xlink:to="us-gaap_OtherExpenses_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherExpenses_lbl" xml:lang="en-US">other expenses</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock" xlink:to="VTSI_ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock_doc" xml:lang="en-US">Schedule Of Balance Sheet Classification Of Lease Assets And Liabilities [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_PropertyMember" xlink:to="VTSI_PropertyMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_PropertyMember_doc" xml:lang="en-US">Property [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_ArizonaBankAndTrustMember" xlink:to="VTSI_ArizonaBankAndTrustMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_ArizonaBankAndTrustMember_doc" xml:lang="en-US">Arizona Bank and Trust [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_OneHundredAndNineteenRegularMonthlyPaymentsMember" xlink:to="VTSI_OneHundredAndNineteenRegularMonthlyPaymentsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_OneHundredAndNineteenRegularMonthlyPaymentsMember_doc" xml:lang="en-US">199 Regular Monthly Payments [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_OneIrregularPaymentMember" xlink:to="VTSI_OneIrregularPaymentMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_OneIrregularPaymentMember_doc" xml:lang="en-US">One Irregular Payment [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_ChiefExecutiveOfficerAndChiefOperatingOfficerMember" xlink:to="VTSI_ChiefExecutiveOfficerAndChiefOperatingOfficerMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_ChiefExecutiveOfficerAndChiefOperatingOfficerMember_doc" xml:lang="en-US">Chief Executive Officer and Chief Operating Officer [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_OneMemberOfTheBoardOfDirectorsMember" xlink:label="VTSI_OneMemberOfTheBoardOfDirectorsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_OneMemberOfTheBoardOfDirectorsMember" xlink:to="VTSI_OneMemberOfTheBoardOfDirectorsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_OneMemberOfTheBoardOfDirectorsMember_doc" xml:lang="en-US">One Member Of The Board Of Directors [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_TrancheMember" xlink:label="VTSI_TrancheMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_TrancheMember" xlink:to="VTSI_TrancheMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_TrancheMember_doc" xml:lang="en-US">Tranche [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_JuneThirtyTwoThousandAndTwentyTwoMember" xlink:to="VTSI_JuneThirtyTwoThousandAndTwentyTwoMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_JuneThirtyTwoThousandAndTwentyTwoMember_doc" xml:lang="en-US">June 30, 2022 [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices" xlink:to="VTSI_AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices_doc" xml:lang="en-US">Adjustments to additional paid-in capital stock reserved for future services.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_NonQualifiedStockOptionMember" xlink:to="VTSI_NonQualifiedStockOptionMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_NonQualifiedStockOptionMember_doc" xml:lang="en-US">Non Qualified Stock Option [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross" xlink:to="VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross_doc" xml:lang="en-US">Number of options, redeemed.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue" xlink:to="VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue_doc" xml:lang="en-US">Weighted average exercise price, redeemed.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue" xlink:to="VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue_doc" xml:lang="en-US">Share-based compensation arrangement by Share-based payment award, options, vested and expected to vest, exercisable and outstanding, aggregate intrinsic value.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_TwoThousandAndSeventeenEquityIncentivePlanMember" xlink:to="VTSI_TwoThousandAndSeventeenEquityIncentivePlanMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_TwoThousandAndSeventeenEquityIncentivePlanMember_doc" xml:lang="en-US">2017 Equity Incentive Plan [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_SecuritiesPurchaseAgreementMember" xlink:to="VTSI_SecuritiesPurchaseAgreementMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_SecuritiesPurchaseAgreementMember_doc" xml:lang="en-US">Securities Purchase Agreement [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_CertainInstitutionalInvestorsMember" xlink:label="VTSI_CertainInstitutionalInvestorsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_CertainInstitutionalInvestorsMember" xlink:to="VTSI_CertainInstitutionalInvestorsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_CertainInstitutionalInvestorsMember_doc" xml:lang="en-US">Certain Institutional Investors [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_GrossProceedsAggregatePercentage" xlink:label="VTSI_GrossProceedsAggregatePercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_GrossProceedsAggregatePercentage" xlink:to="VTSI_GrossProceedsAggregatePercentage_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_GrossProceedsAggregatePercentage_doc" xml:lang="en-US">Gross proceeds, aggregate percentage.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_PlacementAgencyAgreementMember" xlink:to="VTSI_PlacementAgencyAgreementMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_PlacementAgencyAgreementMember_doc" xml:lang="en-US">Placement Agency Agreement [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_RothCapitalPartnersLLCMember" xlink:to="VTSI_RothCapitalPartnersLLCMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_RothCapitalPartnersLLCMember_doc" xml:lang="en-US">Roth Capital Partners, LLC [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_ReimbursementLegalFeesAndExpenses" xlink:to="VTSI_ReimbursementLegalFeesAndExpenses_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_ReimbursementLegalFeesAndExpenses_doc" xml:lang="en-US">Reimbursement legal fees and expenses.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_OfferingMember" xlink:to="VTSI_OfferingMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_OfferingMember_doc" xml:lang="en-US">Offering [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_EquityIncentivePlanMember" xlink:to="VTSI_EquityIncentivePlanMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_EquityIncentivePlanMember_doc" xml:lang="en-US">Equity Incentive Plan [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_Mr.GivensMember" xlink:to="VTSI_Mr.GivensMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_Mr.GivensMember_doc" xml:lang="en-US">Mr.Givens [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ProceedsFromIssuanceOfStock" xlink:label="VTSI_ProceedsFromIssuanceOfStock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_ProceedsFromIssuanceOfStock" xlink:to="VTSI_ProceedsFromIssuanceOfStock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_ProceedsFromIssuanceOfStock_doc" xml:lang="en-US">Proceeds from issuance of stock.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_ConversionOfInventoryToPropertyAndEquipment" xlink:to="VTSI_ConversionOfInventoryToPropertyAndEquipment_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_ConversionOfInventoryToPropertyAndEquipment_doc" xml:lang="en-US">Conversion of inventory to propertyand equipment.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_OrganizationAndBusinessOperationsPolicyTextBlock" xlink:to="VTSI_OrganizationAndBusinessOperationsPolicyTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_OrganizationAndBusinessOperationsPolicyTextBlock_doc" xml:lang="en-US">Organization And Business Operations [Policy Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_DisaggregationOfRevenuePolicyTextBlock" xlink:to="VTSI_DisaggregationOfRevenuePolicyTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_DisaggregationOfRevenuePolicyTextBlock_doc" xml:lang="en-US">Disaggregation Of Revenue [Policy Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_SimulatorsandAccessoriesRevenue" xlink:to="VTSI_SimulatorsandAccessoriesRevenue_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_SimulatorsandAccessoriesRevenue_doc" xml:lang="en-US">Simulatorsand accessories revenue.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_GeographicDistributionCommercialMember" xlink:to="VTSI_GeographicDistributionCommercialMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_GeographicDistributionCommercialMember_doc" xml:lang="en-US">Commercial [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_ExtendedServicetypeWarranties" xlink:to="VTSI_ExtendedServicetypeWarranties_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_ExtendedServicetypeWarranties_doc" xml:lang="en-US">Extended service-type warranties.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_CustomizedSoftwareAndCustomizedContentScenarios" xlink:to="VTSI_CustomizedSoftwareAndCustomizedContentScenarios_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_CustomizedSoftwareAndCustomizedContentScenarios_doc" xml:lang="en-US">Customized software and customized content scenarios.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_InstallationAndTraining" xlink:to="VTSI_InstallationAndTraining_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_InstallationAndTraining_doc" xml:lang="en-US">Installation and training.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_LicensingAndRoyaltiesRevenue" xlink:to="VTSI_LicensingAndRoyaltiesRevenue_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_LicensingAndRoyaltiesRevenue_doc" xml:lang="en-US">Licensing and royalties revenue.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_GeographicDistributionGovernmentMember" xlink:to="VTSI_GeographicDistributionGovernmentMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_GeographicDistributionGovernmentMember_doc" xml:lang="en-US">Government [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_StockIssuedDuringPeriodsharesForSigningBonus" xlink:to="VTSI_StockIssuedDuringPeriodsharesForSigningBonus_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_StockIssuedDuringPeriodsharesForSigningBonus_doc" xml:lang="en-US">Stock issued during period for signing bonus, shares.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_GovernmentCustomersMember" xlink:to="VTSI_GovernmentCustomersMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_GovernmentCustomersMember_doc" xml:lang="en-US">Government Customers [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_CommercialCustomersMember" xlink:to="VTSI_CommercialCustomersMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_CommercialCustomersMember_doc" xml:lang="en-US">Commercial Customers [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_InternationalCustomersMember" xlink:to="VTSI_InternationalCustomersMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_InternationalCustomersMember_doc" xml:lang="en-US">International Customers [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_DeferredRevenueMember" xlink:to="VTSI_DeferredRevenueMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_DeferredRevenueMember_doc" xml:lang="en-US">Deferred Revenue [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_WarrantyMember" xlink:to="VTSI_WarrantyMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_WarrantyMember_doc" xml:lang="en-US">Warranty [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_OneYearOrLessMember" xlink:to="VTSI_OneYearOrLessMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_OneYearOrLessMember_doc" xml:lang="en-US">One Year or Less [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_LongerThanOneYearMember" xlink:to="VTSI_LongerThanOneYearMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_LongerThanOneYearMember_doc" xml:lang="en-US">Longer Than One Year [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_OneYearMember" xlink:to="VTSI_OneYearMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_OneYearMember_doc" xml:lang="en-US">One Year [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_OneCommercialCustomerMember" xlink:to="VTSI_OneCommercialCustomerMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_OneCommercialCustomerMember_doc" xml:lang="en-US">One Commercial Customer [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_NoCommercialCustomerMember" xlink:to="VTSI_NoCommercialCustomerMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_NoCommercialCustomerMember_doc" xml:lang="en-US">No Commercial Customer [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_OneFederalAgencyMember" xlink:to="VTSI_OneFederalAgencyMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_OneFederalAgencyMember_doc" xml:lang="en-US">One Federal Agency [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_OneStateAgencyMember" xlink:to="VTSI_OneStateAgencyMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_OneStateAgencyMember_doc" xml:lang="en-US">One State Agency [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_SparePartsMember" xlink:to="VTSI_SparePartsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_SparePartsMember_doc" xml:lang="en-US">Spare Parts [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ProceedsFromIssuanceOfStockForService" xlink:label="VTSI_ProceedsFromIssuanceOfStockForService" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_ProceedsFromIssuanceOfStockForService" xlink:to="VTSI_ProceedsFromIssuanceOfStockForService_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_ProceedsFromIssuanceOfStockForService_doc" xml:lang="en-US">Proceeds from issuance of stock for service.</link:label>
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_NoSingleCustomerMember" xlink:label="VTSI_NoSingleCustomerMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_NoSingleCustomerMember" xlink:to="VTSI_NoSingleCustomerMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_NoSingleCustomerMember_doc" xml:lang="en-US">No Single Customer [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_BoardMember" xlink:to="VTSI_BoardMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_BoardMember_doc" xml:lang="en-US">Board [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_CoChiefExecutiveOfficerMember" xlink:to="VTSI_CoChiefExecutiveOfficerMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_CoChiefExecutiveOfficerMember_doc" xml:lang="en-US">Co-Chief Executive Officer [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_ChiefExecutiveOfficerOneMember" xlink:to="VTSI_ChiefExecutiveOfficerOneMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_ChiefExecutiveOfficerOneMember_doc" xml:lang="en-US">Chief Executive Officer One [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_ChiefExecutiveOfficerTwoMember" xlink:to="VTSI_ChiefExecutiveOfficerTwoMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_ChiefExecutiveOfficerTwoMember_doc" xml:lang="en-US">Chief Executive Officer Two [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_InstitutionalInvestorsMember" xlink:to="VTSI_InstitutionalInvestorsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_InstitutionalInvestorsMember_doc" xml:lang="en-US">Institutional Investors [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_RegisteredDirectorOfferingMember" xlink:to="VTSI_RegisteredDirectorOfferingMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_RegisteredDirectorOfferingMember_doc" xml:lang="en-US">Registered Director Offering [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_IncrementalCommonSharesAttributableToStockOptions" xlink:to="VTSI_IncrementalCommonSharesAttributableToStockOptions_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="VTSI_IncrementalCommonSharesAttributableToStockOptions_doc" xml:lang="en-US">Incremental common shares attributable to stock options.</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_AssetsNoncurrent" xlink:to="us-gaap_AssetsNoncurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsNoncurrent_2_lbl" xml:lang="en-US">Assets, Noncurrent</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_LiabilitiesNoncurrent" xlink:to="us-gaap_LiabilitiesNoncurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesNoncurrent_2_lbl" xml:lang="en-US">Liabilities, Noncurrent</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">Stockholders' 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_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_OtherNonoperatingExpense" xlink:to="us-gaap_OtherNonoperatingExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNonoperatingExpense_2_lbl" xml:lang="en-US">Other Nonoperating Expense</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonoperatingIncomeExpense_2_lbl" xml:lang="en-US">Nonoperating Income (Expense)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_2_lbl" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</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_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_IncreaseDecreaseInDeferredIncomeTaxes" xlink:to="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_2_lbl" xml:lang="en-US">Increase (Decrease) in Deferred Income Taxes</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:to="us-gaap_IncreaseDecreaseInDeferredRevenue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInDeferredRevenue_2_lbl" xml:lang="en-US">Increase (Decrease) in Deferred Revenue</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_IncreaseDecreaseInOtherOperatingAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_2_lbl" xml:lang="en-US">Increase (Decrease) in Other Operating Assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInDepositOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInDepositOtherAssets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInDepositOtherAssets_2_lbl" xml:lang="en-US">Increase (Decrease) in Deposit Assets</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_PaymentsToAcquireIntangibleAssets" xlink:to="us-gaap_PaymentsToAcquireIntangibleAssets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets_2_lbl" xml:lang="en-US">Payments to Acquire Intangible Assets</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_RepaymentsOfLongTermDebt" xlink:to="us-gaap_RepaymentsOfLongTermDebt_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfLongTermDebt_2_lbl" xml:lang="en-US">Repayments of Long-Term Debt</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_2_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Financing 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_3_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_2_lbl" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_ExtendedServicetypeWarranties" xlink:to="VTSI_ExtendedServicetypeWarranties_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_ExtendedServicetypeWarranties_3_lbl" xml:lang="en-US">Extended service-type warranties</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_CustomizedSoftwareAndCustomizedContentScenarios" xlink:to="VTSI_CustomizedSoftwareAndCustomizedContentScenarios_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_CustomizedSoftwareAndCustomizedContentScenarios_3_lbl" xml:lang="en-US">Customized software and customized content scenarios</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_InstallationAndTraining" xlink:to="VTSI_InstallationAndTraining_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_InstallationAndTraining_3_lbl" xml:lang="en-US">Installation and training</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VTSI_LicensingAndRoyaltiesRevenue" xlink:to="VTSI_LicensingAndRoyaltiesRevenue_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="VTSI_LicensingAndRoyaltiesRevenue_3_lbl" xml:lang="en-US">Licensing and royalties revenue</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryValuationReserves" xlink:to="us-gaap_InventoryValuationReserves_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryValuationReserves_2_lbl" xml:lang="en-US">Inventory Valuation Reserves</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_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_2_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_2_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_2_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</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">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_2_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price</link:label>
    </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>10
<FILENAME>vtsi-20220630_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.15b -->
    <!-- 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://virtra.com/role/Cover" xlink:href="vtsi-20220630.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/BalanceSheets" xlink:href="vtsi-20220630.xsd#BalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/BalanceSheetsParenthetical" xlink:href="vtsi-20220630.xsd#BalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/StatementsOfOperations" xlink:href="vtsi-20220630.xsd#StatementsOfOperations" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/StatementsOfChangesInStockholdersEquity" xlink:href="vtsi-20220630.xsd#StatementsOfChangesInStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/StatementsOfCashFlows" xlink:href="vtsi-20220630.xsd#StatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/OrganizationAndSignificantAccountingPolicies" xlink:href="vtsi-20220630.xsd#OrganizationAndSignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/Inventory" xlink:href="vtsi-20220630.xsd#Inventory" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/PropertyAndEquipment" xlink:href="vtsi-20220630.xsd#PropertyAndEquipment" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/IntangibleAsset" xlink:href="vtsi-20220630.xsd#IntangibleAsset" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/Leases" xlink:href="vtsi-20220630.xsd#Leases" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/AccruedExpenses" xlink:href="vtsi-20220630.xsd#AccruedExpenses" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/NotePayable" xlink:href="vtsi-20220630.xsd#NotePayable" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/RelatedPartyTransactions" xlink:href="vtsi-20220630.xsd#RelatedPartyTransactions" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/CommitmentsAndContingencies" xlink:href="vtsi-20220630.xsd#CommitmentsAndContingencies" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/StockholdersEquity" xlink:href="vtsi-20220630.xsd#StockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/SubsequentEvents" xlink:href="vtsi-20220630.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies" xlink:href="vtsi-20220630.xsd#OrganizationAndSignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesTables" xlink:href="vtsi-20220630.xsd#OrganizationAndSignificantAccountingPoliciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/InventoryTables" xlink:href="vtsi-20220630.xsd#InventoryTables" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/PropertyAndEquipmentTables" xlink:href="vtsi-20220630.xsd#PropertyAndEquipmentTables" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/IntangibleAssetTables" xlink:href="vtsi-20220630.xsd#IntangibleAssetTables" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/LeasesTables" xlink:href="vtsi-20220630.xsd#LeasesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/AccruedExpensesTables" xlink:href="vtsi-20220630.xsd#AccruedExpensesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/NotePayableTables" xlink:href="vtsi-20220630.xsd#NotePayableTables" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/StockholdersEquityTables" xlink:href="vtsi-20220630.xsd#StockholdersEquityTables" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfEarningsPerShareDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfEarningsPerShareDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" xlink:href="vtsi-20220630.xsd#OrganizationAndSignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfInventoryDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfInventoryDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/InventoryDetailsNarrative" xlink:href="vtsi-20220630.xsd#InventoryDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfPropertyAndEquipmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/PropertyAndEquipmentDetailsNarrative" xlink:href="vtsi-20220630.xsd#PropertyAndEquipmentDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfIntangibleAssetDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfIntangibleAssetDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/IntangibleAssetDetailsNarrative" xlink:href="vtsi-20220630.xsd#IntangibleAssetDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfFutureMinimumLeasePaymentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/LeasesDetailsNarrative" xlink:href="vtsi-20220630.xsd#LeasesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfAccruedCompensationAndRelatedCostsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfNotesPayableDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfNotesPayableDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/NotePayableDetailsNarrative" xlink:href="vtsi-20220630.xsd#NotePayableDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative" xlink:href="vtsi-20220630.xsd#RelatedPartyTransactionsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:href="vtsi-20220630.xsd#CommitmentsAndContingenciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails" xlink:href="vtsi-20220630.xsd#ScheduleOfNon-qualifiedStockOptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://virtra.com/role/StockholdersEquityDetailsNarrative" xlink:href="vtsi-20220630.xsd#StockholdersEquityDetailsNarrative" xlink:type="simple" />
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/Cover" xlink:title="00000001 - Document - Cover">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CoverAbstract" xlink:label="loc_deiCoverAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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/2022/dei-2022.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:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/BalanceSheets" xlink:title="00000002 - Statement - Balance Sheets">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaapStatementOfFinancialPositionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonClassAMember" xlink:label="loc_us-gaapCommonClassAMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonClassAMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonClassBMember" xlink:label="loc_us-gaapCommonClassBMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonClassBMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapStatementLineItems" xlink:to="loc_us-gaapAssetsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapAssetsAbstract" xlink:to="loc_us-gaapAssetsCurrentAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent" />
      <link:presentationArc order="30" 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/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:presentationArc order="40" 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/2022/elts/us-gaap-2022.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="loc_us-gaapUnbilledReceivablesCurrent" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapUnbilledReceivablesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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-gaapAssetsCurrentAbstract" 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/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsNoncurrentAbstract" xlink:label="loc_us-gaapAssetsNoncurrentAbstract" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapAssetsNoncurrentAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsNoncurrentAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsNoncurrentAbstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsNoncurrentAbstract" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepositsAssetsNoncurrent" xlink:label="loc_us-gaapDepositsAssetsNoncurrent" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsNoncurrentAbstract" xlink:to="loc_us-gaapDepositsAssetsNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaapOtherAssetsNoncurrent" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsNoncurrentAbstract" xlink:to="loc_us-gaapOtherAssetsNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="loc_us-gaapDeferredIncomeTaxAssetsNet" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsNoncurrentAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxAssetsNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsNoncurrent" xlink:label="loc_us-gaapAssetsNoncurrent" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsNoncurrentAbstract" xlink:to="loc_us-gaapAssetsNoncurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" 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/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaapLiabilitiesCurrentAbstract" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapLiabilitiesCurrentAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent" />
      <link:presentationArc order="190" 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/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="loc_us-gaapEmployeeRelatedLiabilitiesCurrent" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapEmployeeRelatedLiabilitiesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccountsPayableAndOtherAccruedLiabilitiesCurrent" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapAccountsPayableAndOtherAccruedLiabilitiesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NotesPayableCurrent" xlink:label="loc_us-gaapNotesPayableCurrent" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapNotesPayableCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityCurrent" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapContractWithCustomerLiabilityCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" 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/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesNoncurrentAbstract" xlink:label="loc_us-gaapLiabilitiesNoncurrentAbstract" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapLiabilitiesNoncurrentAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityNoncurrent" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract" xlink:to="loc_us-gaapContractWithCustomerLiabilityNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermNotesPayable" xlink:label="loc_us-gaapLongTermNotesPayable" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract" xlink:to="loc_us-gaapLongTermNotesPayable" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="loc_us-gaapOtherLiabilitiesNoncurrent" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract" xlink:to="loc_us-gaapOtherLiabilitiesNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="loc_us-gaapLiabilitiesNoncurrent" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract" xlink:to="loc_us-gaapLiabilitiesNoncurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" 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/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="loc_us-gaapCommitmentsAndContingencies" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapCommitmentsAndContingencies" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaapStockholdersEquityAbstract" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapStockholdersEquityAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValue" xlink:label="loc_us-gaapPreferredStockValue" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapPreferredStockValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue" />
      <link:presentationArc order="360" 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/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="loc_us-gaapAdditionalPaidInCapital" />
      <link:presentationArc order="370" 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/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit" />
      <link:presentationArc order="380" 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/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" 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/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" 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://virtra.com/role/BalanceSheetsParenthetical" xlink:title="00000003 - Statement - Balance Sheets (Parenthetical)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaapStatementOfFinancialPositionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonClassAMember" xlink:label="loc_us-gaapCommonClassAMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonClassAMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonClassBMember" xlink:label="loc_us-gaapCommonClassBMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonClassBMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="loc_us-gaapPreferredStockParOrStatedValuePerShare" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPreferredStockParOrStatedValuePerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="loc_us-gaapPreferredStockSharesAuthorized" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPreferredStockSharesAuthorized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="loc_us-gaapPreferredStockSharesIssued" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPreferredStockSharesIssued" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="loc_us-gaapPreferredStockSharesOutstanding" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPreferredStockSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaapCommonStockParOrStatedValuePerShare" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommonStockParOrStatedValuePerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaapCommonStockSharesAuthorized" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommonStockSharesAuthorized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaapCommonStockSharesIssued" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommonStockSharesIssued" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaapCommonStockSharesOutstanding" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommonStockSharesOutstanding" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/StatementsOfOperations" xlink:title="00000004 - Statement - Statements of Operations (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaapIncomeStatementAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/srt-2022.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/2022/elts/srt-2022.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="vtsi-20220630.xsd#VTSI_NetSalesMember" xlink:label="loc_VTSINetSalesMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_VTSINetSalesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenuesAbstract" xlink:label="loc_us-gaapRevenuesAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenuesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenuesAbstract" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaapCostOfGoodsAndServicesSold" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCostOfGoodsAndServicesSold" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" 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/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="loc_us-gaapOperatingExpensesAbstract" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingExpensesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="loc_us-gaapGeneralAndAdministrativeExpense" />
      <link:presentationArc order="50" 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/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense" />
      <link:presentationArc order="60" 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/2022/elts/us-gaap-2022.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-gaapOperatingExpensesAbstract" 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/2022/elts/us-gaap-2022.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-gaapStatementLineItems" 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/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:label="loc_us-gaapOtherNonoperatingIncomeExpenseAbstract" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherNonoperatingIncomeExpenseAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncome" xlink:label="loc_us-gaapOtherNonoperatingIncome" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherNonoperatingIncomeExpenseAbstract" xlink:to="loc_us-gaapOtherNonoperatingIncome" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingExpense" xlink:label="loc_us-gaapOtherNonoperatingExpense" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherNonoperatingIncomeExpenseAbstract" xlink:to="loc_us-gaapOtherNonoperatingExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="loc_us-gaapNonoperatingIncomeExpense" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherNonoperatingIncomeExpenseAbstract" xlink:to="loc_us-gaapNonoperatingIncomeExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEarningsPerShareAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapEarningsPerShareBasic" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapEarningsPerShareDiluted" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract" xlink:label="loc_us-gaapEarningsPerShareBasicOtherDisclosuresAbstract" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEarningsPerShareBasicOtherDisclosuresAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareBasicOtherDisclosuresAbstract" 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/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareBasicOtherDisclosuresAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/StatementsOfChangesInStockholdersEquity" xlink:title="00000005 - Statement - Statements of Changes in Stockholders&apos; Equity (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaapStatementOfStockholdersEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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="60" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockMember" xlink:label="loc_us-gaapPreferredStockMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapPreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember" />
      <link:presentationArc order="20" 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/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaapAdditionalPaidInCapitalMember" />
      <link:presentationArc order="30" 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/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockMember" xlink:label="loc_us-gaapTreasuryStockMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapTreasuryStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember" />
      <link:presentationArc order="50" 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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised" />
      <link:presentationArc order="30" 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="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices" xlink:label="loc_VTSIAdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_VTSIAdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueNewIssues" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueNewIssues" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_2" />
      <link:presentationArc order="110" 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/2022/elts/us-gaap-2022.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding_2" />
      <link:presentationArc order="120" 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://virtra.com/role/StatementsOfCashFlows" xlink:title="00000006 - Statement - Statements of Cash Flows (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaapStatementOfCashFlowsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapDepreciationDepletionAndAmortization" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapShareBasedCompensation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IssuanceOfStockAndWarrantsForServicesOrClaims" xlink:label="loc_us-gaapIssuanceOfStockAndWarrantsForServicesOrClaims" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapIssuanceOfStockAndWarrantsForServicesOrClaims" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" 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/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" 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/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="loc_us-gaapIncreaseDecreaseInDeferredIncomeTaxes" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInDeferredIncomeTaxes" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:label="loc_us-gaapIncreaseDecreaseInDeferredRevenue" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInDeferredRevenue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapIncreaseDecreaseInOperatingCapitalAbstract" 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/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="loc_us-gaapIncreaseDecreaseInOtherOperatingAssets" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInOtherOperatingAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDepositOtherAssets" xlink:label="loc_us-gaapIncreaseDecreaseInDepositOtherAssets" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInDepositOtherAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingLeaseLiability" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInOperatingLeaseLiability" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" 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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="loc_us-gaapPaymentsToAcquireIntangibleAssets" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsToAcquireIntangibleAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:presentationArc order="210" 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="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" 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/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="loc_us-gaapRepaymentsOfLongTermDebt" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapRepaymentsOfLongTermDebt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceInitialPublicOffering" xlink:label="loc_us-gaapProceedsFromIssuanceInitialPublicOffering" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromIssuanceInitialPublicOffering" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="loc_us-gaapProceedsFromStockOptionsExercised" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromStockOptionsExercised" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
      <link:presentationArc order="280" 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/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_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/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalCashFlowElementsAbstract" xlink:label="loc_us-gaapSupplementalCashFlowElementsAbstract" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapSupplementalCashFlowElementsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="loc_us-gaapIncomeTaxesPaidNet" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSupplementalCashFlowElementsAbstract" xlink:to="loc_us-gaapIncomeTaxesPaidNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPaidNet" xlink:label="loc_us-gaapInterestPaidNet" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSupplementalCashFlowElementsAbstract" xlink:to="loc_us-gaapInterestPaidNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:label="loc_us-gaapCashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSupplementalCashFlowElementsAbstract" xlink:to="loc_us-gaapCashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ConversionOfInventoryToPropertyAndEquipment" xlink:label="loc_VTSIConversionOfInventoryToPropertyAndEquipment" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSupplementalCashFlowElementsAbstract" xlink:to="loc_VTSIConversionOfInventoryToPropertyAndEquipment" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/OrganizationAndSignificantAccountingPolicies" xlink:title="00000007 - Disclosure - Organization and Significant Accounting Policies">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:label="loc_us-gaapOrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapOrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/Inventory" xlink:title="00000008 - Disclosure - Inventory">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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://virtra.com/role/PropertyAndEquipment" xlink:title="00000009 - Disclosure - Property and Equipment">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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://virtra.com/role/IntangibleAsset" xlink:title="00000010 - Disclosure - Intangible Asset">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="loc_us-gaapIntangibleAssetsDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapIntangibleAssetsDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/Leases" xlink:title="00000011 - Disclosure - Leases">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaapLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesOfLesseeDisclosureTextBlock" xlink:label="loc_us-gaapLeasesOfLesseeDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract" xlink:to="loc_us-gaapLeasesOfLesseeDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/AccruedExpenses" xlink:title="00000012 - Disclosure - Accrued Expenses">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaapPayablesAndAccrualsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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://virtra.com/role/NotePayable" xlink:title="00000013 - Disclosure - Note Payable">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="loc_us-gaapDebtDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapDebtDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/RelatedPartyTransactions" xlink:title="00000014 - Disclosure - Related Party Transactions">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="loc_us-gaapRelatedPartyTransactionsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="loc_us-gaapRelatedPartyTransactionsDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsAbstract" xlink:to="loc_us-gaapRelatedPartyTransactionsDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/CommitmentsAndContingencies" xlink:title="00000015 - Disclosure - Commitments and Contingencies">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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://virtra.com/role/StockholdersEquity" xlink:title="00000016 - Disclosure - Stockholders&#8217; Equity">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="loc_us-gaapStockholdersEquityNoteDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapStockholdersEquityNoteDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/SubsequentEvents" xlink:title="00000017 - Disclosure - Subsequent Events">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaapSubsequentEventsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="loc_us-gaapSubsequentEventsTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventsAbstract" xlink:to="loc_us-gaapSubsequentEventsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies" xlink:title="00000018 - Disclosure - Organization and Significant Accounting Policies (Policies)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_OrganizationAndBusinessOperationsPolicyTextBlock" xlink:label="loc_VTSIOrganizationAndBusinessOperationsPolicyTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_VTSIOrganizationAndBusinessOperationsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="loc_us-gaapBasisOfAccountingPolicyPolicyTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapBasisOfAccountingPolicyPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UseOfEstimates" xlink:label="loc_us-gaapUseOfEstimates" />
      <link:presentationArc order="20" 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/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="loc_us-gaapRevenueRecognitionPolicyTextBlock" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapRevenueRecognitionPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_DisaggregationOfRevenuePolicyTextBlock" xlink:label="loc_VTSIDisaggregationOfRevenuePolicyTextBlock" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_VTSIDisaggregationOfRevenuePolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepositContractsPolicy" xlink:label="loc_us-gaapDepositContractsPolicy" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapDepositContractsPolicy" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyPolicy" xlink:label="loc_us-gaapStandardProductWarrantyPolicy" />
      <link:presentationArc order="60" 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/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="loc_us-gaapConcentrationRiskCreditRisk" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapConcentrationRiskCreditRisk" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="loc_us-gaapEarningsPerSharePolicyTextBlock" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapEarningsPerSharePolicyTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesTables" xlink:title="00000019 - Disclosure - Organization and Significant Accounting Policies (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="loc_us-gaapDisaggregationOfRevenueTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapDisaggregationOfRevenueTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="loc_us-gaapScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/InventoryTables" xlink:title="00000020 - Disclosure - Inventory (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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://virtra.com/role/PropertyAndEquipmentTables" xlink:title="00000021 - Disclosure - Property and Equipment (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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://virtra.com/role/IntangibleAssetTables" xlink:title="00000022 - Disclosure - Intangible Asset (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" xlink:label="loc_us-gaapScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/LeasesTables" xlink:title="00000023 - Disclosure - Leases (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaapLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock" xlink:label="loc_VTSIScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract" xlink:to="loc_VTSIScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/AccruedExpensesTables" xlink:title="00000024 - Disclosure - Accrued Expenses (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaapPayablesAndAccrualsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:label="loc_us-gaapAccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapAccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/NotePayableTables" xlink:title="00000025 - Disclosure - Note Payable (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDebtTableTextBlock" xlink:label="loc_us-gaapScheduleOfDebtTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfDebtTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/StockholdersEquityTables" xlink:title="00000026 - Disclosure - Stockholders&#8217; Equity (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfEarningsPerShareDetails" xlink:title="00000027 - Disclosure - Schedule of Earnings Per Share (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/srt-2022.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/2022/elts/srt-2022.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="vtsi-20220630.xsd#VTSI_GeographicDistributionCommercialMember" xlink:label="loc_VTSIGeographicDistributionCommercialMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_VTSIGeographicDistributionCommercialMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_GeographicDistributionGovernmentMember" xlink:label="loc_VTSIGeographicDistributionGovernmentMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_VTSIGeographicDistributionGovernmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeographicDistributionForeignMember" xlink:label="loc_us-gaapGeographicDistributionForeignMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_us-gaapGeographicDistributionForeignMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_SimulatorsandAccessoriesRevenue" xlink:label="loc_VTSISimulatorsandAccessoriesRevenue" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_VTSISimulatorsandAccessoriesRevenue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ExtendedServicetypeWarranties" xlink:label="loc_VTSIExtendedServicetypeWarranties" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_VTSIExtendedServicetypeWarranties" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_CustomizedSoftwareAndCustomizedContentScenarios" xlink:label="loc_VTSICustomizedSoftwareAndCustomizedContentScenarios" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_VTSICustomizedSoftwareAndCustomizedContentScenarios" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_InstallationAndTraining" xlink:label="loc_VTSIInstallationAndTraining" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_VTSIInstallationAndTraining" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_LicensingAndRoyaltiesRevenue" xlink:label="loc_VTSILicensingAndRoyaltiesRevenue" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_VTSILicensingAndRoyaltiesRevenue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_IncrementalCommonSharesAttributableToStockOptions" xlink:label="loc_VTSIIncrementalCommonSharesAttributableToStockOptions" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_VTSIIncrementalCommonSharesAttributableToStockOptions" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEarningsPerShareBasic" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEarningsPerShareDiluted" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" xlink:title="00000028 - Disclosure - Organization and Significant Accounting Policies (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfProductInformationTable" xlink:label="loc_us-gaapScheduleOfProductInformationTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapScheduleOfProductInformationTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductInformationLineItems" xlink:label="loc_us-gaapProductInformationLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapProductInformationLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerMember" xlink:label="loc_us-gaapRevenueFromContractWithCustomerMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapRevenueFromContractWithCustomerMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerProductAndServiceBenchmarkMember" xlink:label="loc_us-gaapRevenueFromContractWithCustomerProductAndServiceBenchmarkMember" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapRevenueFromContractWithCustomerProductAndServiceBenchmarkMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember" />
      <link:presentationArc order="210" 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/2022/elts/us-gaap-2022.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-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapConcentrationRiskByTypeAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="loc_us-gaapCustomerConcentrationRiskMember" />
      <link:presentationArc order="10" 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/2022/elts/srt-2022.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-gaapScheduleOfProductInformationTable" xlink:to="loc_srtMajorCustomersAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.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="vtsi-20220630.xsd#VTSI_GovernmentCustomersMember" xlink:label="loc_VTSIGovernmentCustomersMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_VTSIGovernmentCustomersMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_CommercialCustomersMember" xlink:label="loc_VTSICommercialCustomersMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_VTSICommercialCustomersMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_InternationalCustomersMember" xlink:label="loc_VTSIInternationalCustomersMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_VTSIInternationalCustomersMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_NoCommercialCustomerMember" xlink:label="loc_VTSINoCommercialCustomerMember" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_VTSINoCommercialCustomerMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_OneCommercialCustomerMember" xlink:label="loc_VTSIOneCommercialCustomerMember" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_VTSIOneCommercialCustomerMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaapIncomeStatementLocationAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapIncomeStatementLocationAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaapIncomeStatementLocationDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementLocationAxis" xlink:to="loc_us-gaapIncomeStatementLocationDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_DeferredRevenueMember" xlink:label="loc_VTSIDeferredRevenueMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementLocationDomain" xlink:to="loc_VTSIDeferredRevenueMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:label="loc_us-gaapChangeInAccountingEstimateByTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapChangeInAccountingEstimateByTypeAxis" order="50" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:label="loc_us-gaapChangeInAccountingEstimateTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapChangeInAccountingEstimateByTypeAxis" xlink:to="loc_us-gaapChangeInAccountingEstimateTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_WarrantyMember" xlink:label="loc_VTSIWarrantyMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapChangeInAccountingEstimateTypeDomain" xlink:to="loc_VTSIWarrantyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardDateAxis" xlink:label="loc_us-gaapAwardDateAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapAwardDateAxis" order="60" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardDateDomain" xlink:label="loc_us-gaapAwardDateDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardDateAxis" xlink:to="loc_us-gaapAwardDateDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_OneYearOrLessMember" xlink:label="loc_VTSIOneYearOrLessMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardDateDomain" xlink:to="loc_VTSIOneYearOrLessMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_LongerThanOneYearMember" xlink:label="loc_VTSILongerThanOneYearMember" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardDateDomain" xlink:to="loc_VTSILongerThanOneYearMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_OneYearMember" xlink:label="loc_VTSIOneYearMember" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardDateDomain" xlink:to="loc_VTSIOneYearMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.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-gaapScheduleOfProductInformationTable" xlink:to="loc_srtStatementGeographicalAxis" order="70" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.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="vtsi-20220630.xsd#VTSI_OneFederalAgencyMember" xlink:label="loc_VTSIOneFederalAgencyMember" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_VTSIOneFederalAgencyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_OneStateAgencyMember" xlink:label="loc_VTSIOneStateAgencyMember" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_VTSIOneStateAgencyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaapConcentrationRiskPercentage1" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapConcentrationRiskPercentage1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityCurrent" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapContractWithCustomerLiabilityCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtendedProductWarrantyAccrual" xlink:label="loc_us-gaapExtendedProductWarrantyAccrual" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapExtendedProductWarrantyAccrual" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="loc_us-gaapContractWithCustomerLiabilityRevenueRecognized" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapContractWithCustomerLiabilityRevenueRecognized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashFDICInsuredAmount" xlink:label="loc_us-gaapCashFDICInsuredAmount" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapCashFDICInsuredAmount" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashUninsuredAmount" xlink:label="loc_us-gaapCashUninsuredAmount" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapCashUninsuredAmount" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfInventoryDetails" xlink:title="00000029 - Disclosure - Schedule of Inventory (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessAndRawMaterials" xlink:label="loc_us-gaapInventoryWorkInProcessAndRawMaterials" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryWorkInProcessAndRawMaterials" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryValuationReserves" xlink:label="loc_us-gaapInventoryValuationReserves" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryValuationReserves" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/InventoryDetailsNarrative" xlink:title="00000030 - Disclosure - Inventory (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="loc_us-gaapBalanceSheetLocationAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapBalanceSheetLocationAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaapBalanceSheetLocationDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetLocationAxis" xlink:to="loc_us-gaapBalanceSheetLocationDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_SparePartsMember" xlink:label="loc_VTSISparePartsMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetLocationDomain" xlink:to="loc_VTSISparePartsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaapOtherAssetsNoncurrent" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherAssetsNoncurrent" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails" xlink:title="00000031 - Disclosure - Schedule of Property and Equipment (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_LandMember" xlink:label="loc_us-gaapLandMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLandMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="loc_us-gaapBuildingAndBuildingImprovementsMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapBuildingAndBuildingImprovementsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComputerEquipmentMember" xlink:label="loc_us-gaapComputerEquipmentMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapComputerEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_FurnitureAndOfficeEquipmentMember" xlink:label="loc_VTSIFurnitureAndOfficeEquipmentMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_VTSIFurnitureAndOfficeEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="loc_us-gaapMachineryAndEquipmentMember" />
      <link:presentationArc order="90" 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="vtsi-20220630.xsd#VTSI_STEPEquipmentMember" xlink:label="loc_VTSISTEPEquipmentMember" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_VTSISTEPEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdImprovementsMember" />
      <link:presentationArc order="130" 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="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressMember" xlink:label="loc_us-gaapConstructionInProgressMember" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapConstructionInProgressMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.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" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/PropertyAndEquipmentDetailsNarrative" xlink:title="00000032 - Disclosure - Property and Equipment (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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://virtra.com/role/ScheduleOfIntangibleAssetDetails" xlink:title="00000033 - Disclosure - Schedule of Intangible Asset (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PatentsMember" xlink:label="loc_us-gaapPatentsMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_us-gaapPatentsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_CapitalizedMediaContentMember" xlink:label="loc_VTSICapitalizedMediaContentMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_VTSICapitalizedMediaContentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_AcquiredLeaseIntangibleAssetsMember" xlink:label="loc_VTSIAcquiredLeaseIntangibleAssetsMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_VTSIAcquiredLeaseIntangibleAssetsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsGross" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/IntangibleAssetDetailsNarrative" xlink:title="00000034 - Disclosure - Intangible Asset (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaapAmortizationOfIntangibleAssets" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapAmortizationOfIntangibleAssets" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesDetails" xlink:title="00000035 - Disclosure - Schedule of Balance Sheet Classification of Lease Assets and Liabilities (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaapLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset_2" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset_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/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaapOperatingLeaseLiability" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseLiability" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails" xlink:title="00000036 - Disclosure - Schedule of Future Minimum Lease Payments (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaapLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaapOperatingLeaseLiability" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseLiability" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/LeasesDetailsNarrative" xlink:title="00000037 - Disclosure - Leases (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaapLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRent" xlink:label="loc_us-gaapPaymentsForRent" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract" xlink:to="loc_us-gaapPaymentsForRent" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails" xlink:title="00000038 - Disclosure - Schedule of Accrued Compensation and Related Costs (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaapPayablesAndAccrualsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedEmployeeBenefitsCurrent" xlink:label="loc_us-gaapAccruedEmployeeBenefitsCurrent" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapAccruedEmployeeBenefitsCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedVacationCurrent" xlink:label="loc_us-gaapAccruedVacationCurrent" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapAccruedVacationCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredCompensationCashBasedArrangementsLiabilityCurrent" xlink:label="loc_us-gaapDeferredCompensationCashBasedArrangementsLiabilityCurrent" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapDeferredCompensationCashBasedArrangementsLiabilityCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="loc_us-gaapEmployeeRelatedLiabilitiesCurrent" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapEmployeeRelatedLiabilitiesCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" xlink:title="00000039 - Disclosure - Schedule of Accrued Expenses and Other Current Liabilities (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaapPayablesAndAccrualsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:label="loc_us-gaapProductWarrantyAccrualClassifiedCurrent" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapProductWarrantyAccrualClassifiedCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TaxesPayableCurrent" xlink:label="loc_us-gaapTaxesPayableCurrent" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapTaxesPayableCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherBorrowings" xlink:label="loc_us-gaapOtherBorrowings" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapOtherBorrowings" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccountsPayableAndOtherAccruedLiabilitiesCurrent" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapAccountsPayableAndOtherAccruedLiabilitiesCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfNotesPayableDetails" xlink:title="00000040 - Disclosure - Schedule of Notes Payable (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShortTermDebtTable" xlink:label="loc_us-gaapScheduleOfShortTermDebtTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfShortTermDebtTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtLineItems" xlink:label="loc_us-gaapShortTermDebtLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapShortTermDebtLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="loc_us-gaapShortTermDebtTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapShortTermDebtTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="loc_us-gaapShortTermDebtTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeAxis" xlink:to="loc_us-gaapShortTermDebtTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_NotesPayableMember" xlink:label="loc_VTSINotesPayableMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_VTSINotesPayableMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="loc_us-gaapLongtermDebtTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapLongtermDebtTypeAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="loc_us-gaapLongtermDebtTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLongtermDebtTypeAxis" xlink:to="loc_us-gaapLongtermDebtTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_NotesPayableMember" xlink:label="loc_VTSINotesPayableMember_2" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLongtermDebtTypeDomain" xlink:to="loc_VTSINotesPayableMember_2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="loc_us-gaapDebtInstrumentFaceAmount" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentFaceAmount" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPayableCurrent" xlink:label="loc_us-gaapInterestPayableCurrent" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapInterestPayableCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NotesPayableCurrent" xlink:label="loc_us-gaapNotesPayableCurrent" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapNotesPayableCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermNotesPayable" xlink:label="loc_us-gaapLongTermNotesPayable" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapLongTermNotesPayable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/NotePayableDetailsNarrative" xlink:title="00000041 - Disclosure - Note Payable (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShortTermDebtTable" xlink:label="loc_us-gaapScheduleOfShortTermDebtTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfShortTermDebtTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtLineItems" xlink:label="loc_us-gaapShortTermDebtLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapShortTermDebtLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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="vtsi-20220630.xsd#VTSI_PropertyMember" xlink:label="loc_VTSIPropertyMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_VTSIPropertyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_deiLegalEntityAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ArizonaBankAndTrustMember" xlink:label="loc_VTSIArizonaBankAndTrustMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_VTSIArizonaBankAndTrustMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaapDebtInstrumentAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapDebtInstrumentAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaapDebtInstrumentNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtInstrumentAxis" xlink:to="loc_us-gaapDebtInstrumentNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_OneHundredAndNineteenRegularMonthlyPaymentsMember" xlink:label="loc_VTSIOneHundredAndNineteenRegularMonthlyPaymentsMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_VTSIOneHundredAndNineteenRegularMonthlyPaymentsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_OneIrregularPaymentMember" xlink:label="loc_VTSIOneIrregularPaymentMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_VTSIOneIrregularPaymentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromLoans" xlink:label="loc_us-gaapProceedsFromLoans" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapProceedsFromLoans" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateDuringPeriod" xlink:label="loc_us-gaapDebtInstrumentInterestRateDuringPeriod" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateDuringPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentPeriodicPayment" xlink:label="loc_us-gaapDebtInstrumentPeriodicPayment" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentPeriodicPayment" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentMaturityDate" xlink:label="loc_us-gaapDebtInstrumentMaturityDate" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentMaturityDate" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative" xlink:title="00000042 - Disclosure - Related Party Transactions (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="loc_us-gaapRelatedPartyTransactionsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:label="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsAbstract" xlink:to="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:label="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_srtTitleOfIndividualAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ChiefExecutiveOfficerAndChiefOperatingOfficerMember" xlink:label="loc_VTSIChiefExecutiveOfficerAndChiefOperatingOfficerMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_VTSIChiefExecutiveOfficerAndChiefOperatingOfficerMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_BoardMember" xlink:label="loc_VTSIBoardMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_VTSIBoardMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapCommonStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRedeemedOrCalledDuringPeriodShares" xlink:label="loc_us-gaapStockRedeemedOrCalledDuringPeriodShares" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapStockRedeemedOrCalledDuringPeriodShares" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaapAllocatedShareBasedCompensationExpense" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapAllocatedShareBasedCompensationExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaapCommonStockParOrStatedValuePerShare" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapCommonStockParOrStatedValuePerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:title="00000043 - Disclosure - Commitments and Contingencies (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:label="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:label="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_srtTitleOfIndividualAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_CoChiefExecutiveOfficerMember" xlink:label="loc_VTSICoChiefExecutiveOfficerMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_VTSICoChiefExecutiveOfficerMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ChiefOperatingOfficerMember" xlink:label="loc_srtChiefOperatingOfficerMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_srtChiefOperatingOfficerMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_us-gaapAwardTypeAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaapRestrictedStockUnitsRSUMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockUnitsRSUMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardDateAxis" xlink:label="loc_us-gaapAwardDateAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_us-gaapAwardDateAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardDateDomain" xlink:label="loc_us-gaapAwardDateDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardDateAxis" xlink:to="loc_us-gaapAwardDateDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_JuneThirtyTwoThousandAndTwentyTwoMember" xlink:label="loc_VTSIJuneThirtyTwoThousandAndTwentyTwoMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardDateDomain" xlink:to="loc_VTSIJuneThirtyTwoThousandAndTwentyTwoMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis" xlink:label="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredBonusAndProfitSharingArrangementIndividualContractTypeOfDeferredCompensationDomain" xlink:label="loc_us-gaapDeferredBonusAndProfitSharingArrangementIndividualContractTypeOfDeferredCompensationDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis" xlink:to="loc_us-gaapDeferredBonusAndProfitSharingArrangementIndividualContractTypeOfDeferredCompensationDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredProfitSharingMember" xlink:label="loc_us-gaapDeferredProfitSharingMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredBonusAndProfitSharingArrangementIndividualContractTypeOfDeferredCompensationDomain" xlink:to="loc_us-gaapDeferredProfitSharingMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapShareBasedCompensation" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapOperatingExpenses" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails" xlink:title="00000044 - Disclosure - Schedule of Non-qualified Stock Options (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OffsettingAssetsTable" xlink:label="loc_us-gaapOffsettingAssetsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapOffsettingAssetsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OffsettingAssetsLineItems" xlink:label="loc_us-gaapOffsettingAssetsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOffsettingAssetsTable" xlink:to="loc_us-gaapOffsettingAssetsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="loc_us-gaapDerivativeInstrumentRiskAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOffsettingAssetsTable" xlink:to="loc_us-gaapDerivativeInstrumentRiskAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="loc_us-gaapDerivativeContractTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentRiskAxis" xlink:to="loc_us-gaapDerivativeContractTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_NonQualifiedStockOptionMember" xlink:label="loc_VTSINonQualifiedStockOptionMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeContractTypeDomain" xlink:to="loc_VTSINonQualifiedStockOptionMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapOffsettingAssetsLineItems" 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/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOffsettingAssetsLineItems" 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/2022/elts/us-gaap-2022.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-gaapOffsettingAssetsLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOffsettingAssetsLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross" xlink:label="loc_VTSIShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOffsettingAssetsLineItems" xlink:to="loc_VTSIShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue" xlink:label="loc_VTSIShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOffsettingAssetsLineItems" xlink:to="loc_VTSIShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOffsettingAssetsLineItems" 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/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOffsettingAssetsLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOffsettingAssetsLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOffsettingAssetsLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOffsettingAssetsLineItems" 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/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOffsettingAssetsLineItems" 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/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOffsettingAssetsLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOffsettingAssetsLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://virtra.com/role/StockholdersEquityDetailsNarrative" xlink:title="00000045 - Disclosure - Stockholders&#8217; Equity (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="loc_us-gaapScheduleOfStockByClassTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapScheduleOfStockByClassTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockLineItems" xlink:label="loc_us-gaapClassOfStockLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapClassOfStockLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.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-gaapScheduleOfStockByClassTable" xlink:to="loc_srtRangeAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.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/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember" />
      <link:presentationArc order="10" 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/2022/elts/us-gaap-2022.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-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapPlanNameAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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="vtsi-20220630.xsd#VTSI_TwoThousandAndSeventeenEquityIncentivePlanMember" xlink:label="loc_VTSITwoThousandAndSeventeenEquityIncentivePlanMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_VTSITwoThousandAndSeventeenEquityIncentivePlanMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_EquityIncentivePlanMember" xlink:label="loc_VTSIEquityIncentivePlanMember" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_VTSIEquityIncentivePlanMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_srtTitleOfIndividualAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ChiefExecutiveOfficerOneMember" xlink:label="loc_VTSIChiefExecutiveOfficerOneMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_VTSIChiefExecutiveOfficerOneMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ChiefExecutiveOfficerTwoMember" xlink:label="loc_VTSIChiefExecutiveOfficerTwoMember" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_VTSIChiefExecutiveOfficerTwoMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ChiefOperatingOfficerMember" xlink:label="loc_srtChiefOperatingOfficerMember" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_srtChiefOperatingOfficerMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_Mr.GivensMember" xlink:label="loc_VTSIMr.GivensMember" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_VTSIMr.GivensMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_InstitutionalInvestorsMember" xlink:label="loc_VTSIInstitutionalInvestorsMember" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_VTSIInstitutionalInvestorsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapAwardTypeAxis" order="50" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember" xlink:label="loc_us-gaapRestrictedStockMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaapRestrictedStockUnitsRSUMember" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockUnitsRSUMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_RegisteredDirectorOfferingMember" xlink:label="loc_VTSIRegisteredDirectorOfferingMember" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_VTSIRegisteredDirectorOfferingMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="loc_us-gaapTypeOfArrangementAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" order="60" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_SecuritiesPurchaseAgreementMember" xlink:label="loc_VTSISecuritiesPurchaseAgreementMember" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_VTSISecuritiesPurchaseAgreementMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_PlacementAgencyAgreementMember" xlink:label="loc_VTSIPlacementAgencyAgreementMember" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_VTSIPlacementAgencyAgreementMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_deiLegalEntityAxis" order="70" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_RothCapitalPartnersLLCMember" xlink:label="loc_VTSIRothCapitalPartnersLLCMember" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_VTSIRothCapitalPartnersLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="loc_us-gaapSubsidiarySaleOfStockAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapSubsidiarySaleOfStockAxis" order="80" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="loc_us-gaapSaleOfStockNameOfTransactionDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsidiarySaleOfStockAxis" xlink:to="loc_us-gaapSaleOfStockNameOfTransactionDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_OfferingMember" xlink:label="loc_VTSIOfferingMember" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSaleOfStockNameOfTransactionDomain" xlink:to="loc_VTSIOfferingMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaapStockRepurchasedDuringPeriodValue" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapStockRepurchasedDuringPeriodValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue" xlink:label="loc_VTSIShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_VTSIShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="loc_us-gaapProceedsFromStockOptionsExercised" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapProceedsFromStockOptionsExercised" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_StockIssuedDuringPeriodsharesForSigningBonus" xlink:label="loc_VTSIStockIssuedDuringPeriodsharesForSigningBonus" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_VTSIStockIssuedDuringPeriodsharesForSigningBonus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesIssuedPricePerShare" xlink:label="loc_us-gaapSharesIssuedPricePerShare" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSharesIssuedPricePerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IssuanceOfStockAndWarrantsForServicesOrClaims" xlink:label="loc_us-gaapIssuanceOfStockAndWarrantsForServicesOrClaims" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapIssuanceOfStockAndWarrantsForServicesOrClaims" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction" xlink:label="loc_us-gaapSaleOfStockNumberOfSharesIssuedInTransaction" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSaleOfStockNumberOfSharesIssuedInTransaction" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaapCommonStockParOrStatedValuePerShare" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapCommonStockParOrStatedValuePerShare" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPricePerShare" xlink:label="loc_us-gaapSaleOfStockPricePerShare" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSaleOfStockPricePerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" xlink:label="loc_us-gaapSaleOfStockPercentageOfOwnershipAfterTransaction" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSaleOfStockPercentageOfOwnershipAfterTransaction" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="vtsi-20220630.xsd#VTSI_ReimbursementLegalFeesAndExpenses" xlink:label="loc_VTSIReimbursementLegalFeesAndExpenses" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_VTSIReimbursementLegalFeesAndExpenses" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceInitialPublicOffering" xlink:label="loc_us-gaapProceedsFromIssuanceInitialPublicOffering" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapProceedsFromIssuanceInitialPublicOffering" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherExpenses" xlink:label="loc_us-gaapOtherExpenses" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapOtherExpenses" xlink:type="arc" />
    </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648021377504">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover - shares<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Aug. 11, 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_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-Q<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Jun. 30,  2022<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">Q2<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">2022<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">--12-31<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">001-38420<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">VIRTRA,
INC.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001085243<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">93-1207631<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">NV<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">295
    E. Corporate Place<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">Chandler<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">AZ<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">85225<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">(480)<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">968-1488<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.0001 par value<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">VTSI<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>
</tr>
<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>
</tr>
<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>
</tr>
<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>
</tr>
<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>
</tr>
<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">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityExTransitionPeriod', window );">Elected Not To Use the Extended Transition Period</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,876,945<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an quarterly report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-Q<br> -Number 240<br> -Section 308<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentQuarterlyReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_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_EntityExTransitionPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards.</p></div>
<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 7A<br> -Section B<br> -Subsection 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_EntityExTransitionPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648024618544">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Balance Sheets - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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">$ 15,016,233<span></span>
</td>
<td class="nump">$ 19,708,565<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">6,388,087<span></span>
</td>
<td class="nump">3,896,739<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventory, net</a></td>
<td class="nump">8,831,786<span></span>
</td>
<td class="nump">5,014,924<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnbilledReceivablesCurrent', window );">Unbilled revenue</a></td>
<td class="nump">4,820,051<span></span>
</td>
<td class="nump">3,946,446<span></span>
</td>
</tr>
<tr class="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">848,759<span></span>
</td>
<td class="nump">940,887<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">35,904,916<span></span>
</td>
<td class="nump">33,507,561<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsNoncurrentAbstract', window );"><strong>Long-term assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">14,185,424<span></span>
</td>
<td class="nump">12,864,766<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right-of-use asset, net</a></td>
<td class="nump">623,648<span></span>
</td>
<td class="nump">784,306<span></span>
</td>
</tr>
<tr class="re">
<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">579,963<span></span>
</td>
<td class="nump">535,079<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepositsAssetsNoncurrent', window );">Security deposits, long-term</a></td>
<td class="nump">35,691<span></span>
</td>
<td class="nump">19,712<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets, long-term</a></td>
<td class="nump">376,461<span></span>
</td>
<td class="nump">189,734<span></span>
</td>
</tr>
<tr class="ro">
<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, net</a></td>
<td class="nump">1,418,723<span></span>
</td>
<td class="nump">1,674,234<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_AssetsNoncurrent', window );">Total long-term assets</a></td>
<td class="nump">17,219,910<span></span>
</td>
<td class="nump">16,067,831<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">53,124,826<span></span>
</td>
<td class="nump">49,575,392<span></span>
</td>
</tr>
<tr class="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,458,968<span></span>
</td>
<td class="nump">789,394<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Accrued compensation and related costs</a></td>
<td class="nump">1,229,404<span></span>
</td>
<td class="nump">1,062,078<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent', window );">Accrued expenses and other current liabilities</a></td>
<td class="nump">1,270,086<span></span>
</td>
<td class="nump">991,744<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NotesPayableCurrent', window );">Note payable, current</a></td>
<td class="nump">233,673<span></span>
</td>
<td class="nump">236,291<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liability, short-term</a></td>
<td class="nump">361,403<span></span>
</td>
<td class="nump">347,772<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue, short-term</a></td>
<td class="nump">4,373,173<span></span>
</td>
<td class="nump">4,135,565<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">8,926,707<span></span>
</td>
<td class="nump">7,562,844<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesNoncurrentAbstract', window );"><strong>Long-term 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_ContractWithCustomerLiabilityNoncurrent', window );">Deferred revenue, long-term</a></td>
<td class="nump">2,679,248<span></span>
</td>
<td class="nump">1,992,625<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermNotesPayable', window );">Note payable, long-term</a></td>
<td class="nump">8,165,838<span></span>
</td>
<td class="nump">8,280,395<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liability, long-term</a></td>
<td class="nump">321,217<span></span>
</td>
<td class="nump">505,383<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other long-term liabilities</a></td>
<td class="nump">5,436<span></span>
</td>
<td class="nump">5,436<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesNoncurrent', window );">Total long-term liabilities</a></td>
<td class="nump">11,171,739<span></span>
</td>
<td class="nump">10,783,839<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">20,098,446<span></span>
</td>
<td class="nump">18,346,683<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies (See Note 9)</a></td>
<td class="text"> <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_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_PreferredStockValue', window );">Preferred stock $0.0001 par value; 2,500,000 authorized; no shares issued or outstanding</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_CommonStockValue', window );">Common stock, value</a></td>
<td class="nump">1,087<span></span>
</td>
<td class="nump">1,081<span></span>
</td>
</tr>
<tr class="ro">
<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">31,356,608<span></span>
</td>
<td class="nump">30,923,391<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">1,668,685<span></span>
</td>
<td class="nump">304,237<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders&#8217; equity</a></td>
<td class="nump">33,026,380<span></span>
</td>
<td class="nump">31,228,709<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders&#8217; equity</a></td>
<td class="nump">53,124,826<span></span>
</td>
<td class="nump">49,575,392<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_StatementClassOfStockAxis=us-gaap_CommonClassAMember', window );">Common Class A [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_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, value</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <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_StatementClassOfStockAxis=us-gaap_CommonClassBMember', window );">Common Class B [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_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="re">
<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, value</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_us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 incurred to vendors for goods and services received, and accrued liabilities classified as other, payable within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold or consumed after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsNoncurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AssetsNoncurrentAbstract</td>
</tr>
<tr>
<td style="padding-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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.(a),19)<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130532-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130532-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_DepositsAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment after one year or beyond the 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepositsAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16212-109274<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6904-107765<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation due after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 201.5-02(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 201.5-02(26))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 201.5-02(24))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 15: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesNoncurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LiabilitiesNoncurrentAbstract</td>
</tr>
<tr>
<td style="padding-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_LongTermNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 notes payable (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_NotesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 values as of the balance sheet date of the portions of long-term notes payable due within one year or the 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnbilledReceivablesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnbilledReceivablesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_StatementClassOfStockAxis=us-gaap_CommonClassAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementClassOfStockAxis=us-gaap_CommonClassAMember</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_StatementClassOfStockAxis=us-gaap_CommonClassBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementClassOfStockAxis=us-gaap_CommonClassBMember</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>13
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648024503824">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Balance Sheets (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized</a></td>
<td class="nump">2,500,000<span></span>
</td>
<td class="nump">2,500,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_PreferredStockSharesIssued', window );">Preferred stock, shares issued</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_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="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.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
</tr>
<tr class="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, shares authorized</a></td>
<td class="nump">50,000,000<span></span>
</td>
<td class="nump">50,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, shares issued</a></td>
<td class="nump">10,876,945<span></span>
</td>
<td class="nump">10,807,130<span></span>
</td>
</tr>
<tr class="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, shares outstanding</a></td>
<td class="nump">10,876,945<span></span>
</td>
<td class="nump">10,807,130<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_StatementClassOfStockAxis=us-gaap_CommonClassAMember', window );">Common Class A [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_CommonStockParOrStatedValuePerShare', window );">Common stock, par value</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">2,500,000<span></span>
</td>
<td class="nump">2,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_CommonStockSharesIssued', window );">Common stock, shares issued</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_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember', window );">Common Class B [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_CommonStockParOrStatedValuePerShare', window );">Common stock, par value</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
</tr>
<tr class="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, shares authorized</a></td>
<td class="nump">7,500,000<span></span>
</td>
<td class="nump">7,500,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, shares issued</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_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 preferred stock nonredeemable or redeemable solely at the option of the issuer.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementClassOfStockAxis=us-gaap_CommonClassAMember</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_StatementClassOfStockAxis=us-gaap_CommonClassBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementClassOfStockAxis=us-gaap_CommonClassBMember</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>14
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648024722944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Statements of Operations (Unaudited) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">$ 7,997,383<span></span>
</td>
<td class="nump">$ 5,255,192<span></span>
</td>
<td class="nump">$ 14,750,611<span></span>
</td>
<td class="nump">$ 9,697,101<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of sales</a></td>
<td class="nump">3,253,651<span></span>
</td>
<td class="nump">2,120,492<span></span>
</td>
<td class="nump">6,319,789<span></span>
</td>
<td class="nump">3,993,896<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">4,743,732<span></span>
</td>
<td class="nump">3,134,700<span></span>
</td>
<td class="nump">8,430,822<span></span>
</td>
<td class="nump">5,703,205<span></span>
</td>
</tr>
<tr class="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>
<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_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="nump">3,085,051<span></span>
</td>
<td class="nump">2,002,612<span></span>
</td>
<td class="nump">5,381,443<span></span>
</td>
<td class="nump">3,712,845<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="nump">617,058<span></span>
</td>
<td class="nump">311,320<span></span>
</td>
<td class="nump">1,296,453<span></span>
</td>
<td class="nump">605,537<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_OperatingExpenses', window );">Net operating expense</a></td>
<td class="nump">3,702,109<span></span>
</td>
<td class="nump">2,313,932<span></span>
</td>
<td class="nump">6,677,896<span></span>
</td>
<td class="nump">4,318,382<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">1,041,623<span></span>
</td>
<td class="nump">820,768<span></span>
</td>
<td class="nump">1,752,926<span></span>
</td>
<td class="nump">1,384,823<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpenseAbstract', window );"><strong>Other income (expense):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_OtherNonoperatingIncome', window );">Other income</a></td>
<td class="nump">57,056<span></span>
</td>
<td class="nump">34,379<span></span>
</td>
<td class="nump">111,379<span></span>
</td>
<td class="nump">50,758<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingExpense', window );">Other expense</a></td>
<td class="num">(64,621)<span></span>
</td>
<td class="num">(32,608)<span></span>
</td>
<td class="num">(129,173)<span></span>
</td>
<td class="num">(35,042)<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_NonoperatingIncomeExpense', window );">Net other income (expense)</a></td>
<td class="num">(7,565)<span></span>
</td>
<td class="nump">1,771<span></span>
</td>
<td class="num">(17,794)<span></span>
</td>
<td class="nump">15,716<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before provision for income taxes</a></td>
<td class="nump">1,034,058<span></span>
</td>
<td class="nump">822,539<span></span>
</td>
<td class="nump">1,735,132<span></span>
</td>
<td class="nump">1,400,539<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for income taxes</a></td>
<td class="nump">246,684<span></span>
</td>
<td class="nump">293,180<span></span>
</td>
<td class="nump">370,684<span></span>
</td>
<td class="nump">216,017<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_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 787,374<span></span>
</td>
<td class="nump">$ 529,359<span></span>
</td>
<td class="nump">$ 1,364,448<span></span>
</td>
<td class="nump">$ 1,184,522<span></span>
</td>
</tr>
<tr class="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>Net income per common share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic</a></td>
<td class="nump">$ 0.07<span></span>
</td>
<td class="nump">$ 0.05<span></span>
</td>
<td class="nump">$ 0.13<span></span>
</td>
<td class="nump">$ 0.13<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted</a></td>
<td class="nump">$ 0.07<span></span>
</td>
<td class="nump">$ 0.05<span></span>
</td>
<td class="nump">$ 0.13<span></span>
</td>
<td class="nump">$ 0.13<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract', window );"><strong>Weighted average shares outstanding:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Basic</a></td>
<td class="nump">10,866,775<span></span>
</td>
<td class="nump">10,644,363<span></span>
</td>
<td class="nump">10,837,186<span></span>
</td>
<td class="nump">9,209,808<span></span>
</td>
</tr>
<tr class="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 );">Diluted</a></td>
<td class="nump">10,892,302<span></span>
</td>
<td class="nump">10,693,238<span></span>
</td>
<td class="nump">10,867,667<span></span>
</td>
<td class="nump">9,209,509<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=VTSI_NetSalesMember', window );">Net Sales [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">$ 7,997,383<span></span>
</td>
<td class="nump">$ 5,255,192<span></span>
</td>
<td class="nump">$ 14,750,611<span></span>
</td>
<td class="nump">$ 9,697,101<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_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941158&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_OtherNonoperatingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OtherNonoperatingIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(d))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OtherNonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-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_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 730<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6472174&amp;loc=d3e58812-109433<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenuesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RevenuesAbstract</td>
</tr>
<tr>
<td style="padding-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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=VTSI_NetSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=VTSI_NetSalesMember</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>15
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648024392624">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Statements of Changes in Stockholders' Equity (Unaudited) - USD ($)<br></strong></div></th>
<th class="th"><div>Preferred Stock [Member]</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>Treasury Stock [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 );">Beginning balance, value at Dec. 31, 2020</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 778<span></span>
</td>
<td class="nump">$ 13,893,660<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">$ (2,235,852)<span></span>
</td>
<td class="nump">$ 11,658,586<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 Dec. 31, 2020</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">7,775,030<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Stock options exercised</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">6,070<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">6,070<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock options exercised, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income (loss)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">1,184,522<span></span>
</td>
<td class="nump">1,184,522<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Stock issued for cash in offering, net</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 300<span></span>
</td>
<td class="nump">16,794,700<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">16,795,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_StockIssuedDuringPeriodSharesNewIssues', window );">Stock issued for cash in offering, net, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance, value at Jun. 30, 2021</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 1,078<span></span>
</td>
<td class="nump">30,694,430<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(1,051,330)<span></span>
</td>
<td class="nump">29,644,178<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 Jun. 30, 2021</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">10,780,030<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance, value at Mar. 31, 2021</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 778<span></span>
</td>
<td class="nump">13,897,280<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(1,580,689)<span></span>
</td>
<td class="nump">12,317,369<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 Mar. 31, 2021</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">7,777,530<span></span>
</td>
<td class="text">&#160;<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_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Stock options exercised</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">2,450<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">2,450<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock options exercised, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income (loss)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">529,359<span></span>
</td>
<td class="nump">529,359<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Stock issued for cash in offering, net</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 300<span></span>
</td>
<td class="nump">16,794,700<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">16,795,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_StockIssuedDuringPeriodSharesNewIssues', window );">Stock issued for cash in offering, net, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance, value at Jun. 30, 2021</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 1,078<span></span>
</td>
<td class="nump">30,694,430<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(1,051,330)<span></span>
</td>
<td class="nump">29,644,178<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 Jun. 30, 2021</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">10,780,030<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance, value at Dec. 31, 2021</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 1,081<span></span>
</td>
<td class="nump">30,923,391<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">304,237<span></span>
</td>
<td class="nump">31,228,709<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 Dec. 31, 2021</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">10,807,130<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Stock options exercised</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">12,725<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">12,725<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock options exercised, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
<td class="text">&#160;<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_StockIssuedDuringPeriodValueIssuedForServices', window );">Stock issued for services</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 6<span></span>
</td>
<td class="nump">349,995<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">350,001<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesIssuedForServices', window );">Stock issued for services, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">64,815<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_VTSI_AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices', window );">Stock reserved for future services</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">70,497<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">70,497<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income (loss)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">1,364,448<span></span>
</td>
<td class="nump">1,364,448<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance, value at Jun. 30, 2022</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 1,087<span></span>
</td>
<td class="nump">31,356,608<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">1,668,685<span></span>
</td>
<td class="nump">33,026,380<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 Jun. 30, 2022</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">10,876,945<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance, value at Mar. 31, 2022</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 1,081<span></span>
</td>
<td class="nump">30,957,616<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">881,311<span></span>
</td>
<td class="nump">31,840,008<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 Mar. 31, 2022</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">10,809,630<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Stock options exercised</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">4,750<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">4,750<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock options exercised, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,500<span></span>
</td>
<td class="text">&#160;<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_StockIssuedDuringPeriodValueIssuedForServices', window );">Stock issued for services</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 6<span></span>
</td>
<td class="nump">349,995<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">350,001<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesIssuedForServices', window );">Stock issued for services, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">64,815<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_VTSI_AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices', window );">Stock reserved for future services</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">44,247<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">44,247<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income (loss)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">787,374<span></span>
</td>
<td class="nump">787,374<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance, value at Jun. 30, 2022</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 1,087<span></span>
</td>
<td class="nump">$ 31,356,608<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 1,668,685<span></span>
</td>
<td class="nump">$ 33,026,380<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 Jun. 30, 2022</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">10,876,945<span></span>
</td>
<td class="text">&#160;<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_VTSI_AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Adjustments to additional paid-in capital stock reserved for future 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;">VTSI_AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>VTSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_StockIssuedDuringPeriodSharesIssuedForServices">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 in lieu of cash for services contributed to the entity. Number of shares includes, but is not limited to, shares issued for services contributed by vendors and founders.</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_StockIssuedDuringPeriodSharesIssuedForServices</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 new stock issued 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-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_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://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueIssuedForServices">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 in lieu of cash for services contributed to the entity. Value of the stock issued includes, but is not limited to, services contributed by vendors and founders.</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_StockIssuedDuringPeriodValueIssuedForServices</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_StockIssuedDuringPeriodValueNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>16
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648024786416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Statements of Cash Flows (Unaudited) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 787,374<span></span>
</td>
<td class="nump">$ 529,359<span></span>
</td>
<td class="nump">$ 1,364,448<span></span>
</td>
<td class="nump">$ 1,184,522<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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash (used in) provided by operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">446,688<span></span>
</td>
<td class="nump">201,156<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_OperatingLeaseRightOfUseAssetAmortizationExpense', window );">Right of use amortization</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">160,658<span></span>
</td>
<td class="nump">153,299<span></span>
</td>
<td class="nump">$ 310,221<span></span>
</td>
</tr>
<tr class="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 );">Employee stock compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">70,497<span></span>
</td>
<td class="text"> <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_IssuanceOfStockAndWarrantsForServicesOrClaims', window );">Stock issued for service</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">350,001<span></span>
</td>
<td class="text"> <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_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,491,348)<span></span>
</td>
<td class="num">(4,136,335)<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_IncreaseDecreaseInInventories', window );">Inventory, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,816,862)<span></span>
</td>
<td class="num">(1,693,598)<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_IncreaseDecreaseInDeferredIncomeTaxes', window );">Deferred taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">255,511<span></span>
</td>
<td class="nump">294,113<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_IncreaseDecreaseInDeferredRevenue', window );">Unbilled revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(873,605)<span></span>
</td>
<td class="nump">1,374,667<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_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">92,128<span></span>
</td>
<td class="num">(353,765)<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_IncreaseDecreaseInOtherOperatingAssets', window );">Other assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(186,727)<span></span>
</td>
<td class="nump">21,148<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_IncreaseDecreaseInDepositOtherAssets', window );">Security deposits, long-term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(15,979)<span></span>
</td>
<td class="nump">66,788<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_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities', window );">Accounts payable and other accrued expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,115,242<span></span>
</td>
<td class="nump">933,840<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_IncreaseDecreaseInOperatingLeaseLiability', window );">Payments on operating lease liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(170,535)<span></span>
</td>
<td class="num">(157,713)<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_IncreaseDecreaseInContractWithCustomerLiability', window );">Deferred revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">921,613<span></span>
</td>
<td class="nump">3,049,784<span></span>
</td>
<td class="text">&#160;<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 (used in) operating activities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,778,270)<span></span>
</td>
<td class="nump">937,906<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_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_PaymentsToAcquireIntangibleAssets', window );">Purchase of intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(86,012)<span></span>
</td>
<td class="num">(92,886)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchase of property and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,725,726)<span></span>
</td>
<td class="num">(602,009)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,811,738)<span></span>
</td>
<td class="num">(694,895)<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_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RepaymentsOfLongTermDebt', window );">Principal payments of debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(115,049)<span></span>
</td>
<td class="text"> <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_ProceedsFromIssuanceInitialPublicOffering', window );">Stock issued for cash in offering, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">16,795,000<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_ProceedsFromStockOptionsExercised', window );">Stock options exercised</a></td>
<td class="nump">4,750<span></span>
</td>
<td class="nump">2,450<span></span>
</td>
<td class="nump">12,725<span></span>
</td>
<td class="nump">6,070<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_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by (used in) financing activities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(102,324)<span></span>
</td>
<td class="nump">16,801,070<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash and restricted cash</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,692,332)<span></span>
</td>
<td class="nump">17,044,081<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Cash and cash equivalents, beginning of period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19,708,565<span></span>
</td>
<td class="nump">6,841,984<span></span>
</td>
<td class="nump">6,841,984<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Cash and cash equivalents, end of period</a></td>
<td class="nump">$ 15,016,233<span></span>
</td>
<td class="nump">$ 23,886,065<span></span>
</td>
<td class="nump">15,016,233<span></span>
</td>
<td class="nump">23,886,065<span></span>
</td>
<td class="nump">$ 19,708,565<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowElementsAbstract', window );"><strong>Supplemental disclosure of cash flow information:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 (refunded)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">99,035<span></span>
</td>
<td class="num">(78,096)<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">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">128,507<span></span>
</td>
<td class="nump">5,763<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_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract', window );"><strong>Supplemental disclosure of non-cash investing and financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_VTSI_ConversionOfInventoryToPropertyAndEquipment', window );">Conversion of inventory to property and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 294,016<span></span>
</td>
<td class="text"> <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_VTSI_ConversionOfInventoryToPropertyAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Conversion of inventory to propertyand 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;">VTSI_ConversionOfInventoryToPropertyAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>VTSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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; including, but not limited to, 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_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://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4297-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IncreaseDecreaseInContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 obligation to transfer good or service to customer for which consideration has been received or is 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 310<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126938201&amp;loc=d3e55415-109406<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncreaseDecreaseInDeferredIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDeferredIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncreaseDecreaseInDeferredRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDeferredRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncreaseDecreaseInDepositOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 moneys or securities given as security including, but not limited to, contract, escrow, or earnest money deposits, retainage (if applicable), deposits with clearing organizations and others, collateral, or margin deposits.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDepositOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 obligation for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4297-108586<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3367-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IssuanceOfStockAndWarrantsForServicesOrClaims">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of share-based compensation granted to nonemployees as payment for services rendered or acknowledged claims.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IssuanceOfStockAndWarrantsForServicesOrClaims</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for right-of-use asset from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ProceedsFromIssuanceInitialPublicOffering">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the amount received from entity's first offering of stock to the public.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceInitialPublicOffering</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=SL79508275-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_RepaymentsOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_SupplementalCashFlowElementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SupplementalCashFlowElementsAbstract</td>
</tr>
<tr>
<td style="padding-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>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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648022622832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Organization and Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_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_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock', window );">Organization and Significant Accounting Policies</a></td>
<td class="text"><p id="xdx_809_eus-gaap--OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_zNTHWGFGcWVg" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
1. <span id="xdx_820_zq1qjTD5SL49">Organization and Significant Accounting Policies</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_840_ecustom--OrganizationAndBusinessOperationsPolicyTextBlock_zJaEAkt6qR5f" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86C_zjfJDINFHYyk">Organization
and Business Operations</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">VirTra,
Inc. (the &#8220;Company,&#8221; &#8220;VirTra,&#8221; &#8220;we,&#8221; &#8220;us&#8221; or &#8220;our&#8221;), located in Chandler,
Arizona, is a global provider of judgmental use of force training simulators, firearms training simulators and driving simulators for
the law enforcement, military, educational and commercial markets. The Company&#8217;s patented technologies, software, and scenarios
provide intense training for de-escalation, judgmental use-of-force, marksmanship and related training that mimics real-world situations.
VirTra&#8217;s mission is to save and improve lives worldwide through practical and highly-effective virtual reality and simulator technology.
The Company sells its products worldwide through a direct sales force and international distribution partners. The original business
started in 1993 as Ferris Productions, Inc. In September 2001, Ferris Productions, Inc. merged with GameCom, Inc. to ultimately become
VirTra, Inc., a Nevada corporation.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
March 2020, a global pandemic was declared by the World Health Organization related to the rapidly growing outbreak of a novel strain
of coronavirus (COVID-19). The pandemic has significantly impacted the economic conditions in the U.S., accelerating during half of March
and April as federal, state and local governments react to the public health crisis, creating significant uncertainties in the U.S. economy.
On March 30, 2020, the Governor for the State of Arizona issued a stay-at-home order which expired on May 15, 2020, upon which Arizona
entered Phase I of reopening. The Company carefully reviewed all rules and regulations of the government orders and determined it met
the requirements of an essential business to remain open. The Company had the majority of its staff begin working remotely in mid-March,
with only essential personnel continue working at the manufacturing and production facilities and currently remains in Arizona&#8217;s
Phase I of reopening. This situation is rapidly changing and additional impacts to the business may arise that we are not aware of currently.
While the disruption is currently expected to be temporary, there is uncertainty around the duration. The ultimate impact of the pandemic
on the Company&#8217;s results of operations, financial position, liquidity or capital resources cannot be reasonably estimated at this
time. To date, the COVID-19 restrictions have resulted in reduced customer shipments and customer system installations. These recent
developments are expected to result in lower recognized revenue and possibly lower gross margin when they occur. To date, there have
been no order cancellations; rather, there have only been delays in when orders ship or installations occur and all delayed orders remain
in backlog. Any future impact cannot be reasonably estimated at this time. The Company is no longer investing in Certificates of Deposits
as a precautionary measure to increase its liquid cash position and preserve financial flexibility considering uncertainty in the U.S.
and global markets resulting from COVID-19. Additionally, the Company&#8217;s stock repurchase program was suspended as a result of interim
rulings for public-company recipients of a PPP loan under the CARES Act. The stock repurchase suspension remained in effect for the duration
of the outstanding PPP loan and continues to remain in effect even though the PPP loan has been forgiven and is no longer outstanding.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Russian-Ukraine conflict is a global concern. The Company does not have any significant direct exposure to Russia or Ukraine through
its operations, employee base, investments, or sanctions. We have no basis to evaluate the possible risks of this conflict.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>&#160;</i></b></span></p>

<p id="xdx_84F_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_z7zy3Qnknwdi" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86A_zY97D7zYINCh">Basis
of Presentation</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
unaudited financial statements included herein have been prepared by us without audit pursuant to the rules and regulations of the Securities
and Exchange Commission (&#8220;SEC&#8221;) and should be read in conjunction with our audited financial statements for the year ended
December 31, 2021 included in the Company&#8217;s Annual Report on Form 10-K for the fiscal year ended December 31, 2021 filed with the
SEC on August 2, 2022. Certain information and footnote disclosures normally included in financial statements prepared in accordance
with accounting principles generally accepted in the United States of America (&#8220;GAAP&#8221;) have been condensed or omitted as
permitted by the SEC, although we believe the disclosures that are made are adequate to make the information presented herein not misleading.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
accompanying unaudited financial statements reflect, in our opinion, all normal recurring adjustments necessary to present fairly our
financial position at June 30, 2022 and the results of our operations and cash flows for the periods presented. We derived the December
31, 2021 balance sheet data from audited financial statements; however, we did not include all disclosures required by GAAP.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Interim
results are subject to seasonal variations, and the results of operations for the six months ended June 30, 2022 are not necessarily
indicative of the results to be expected for the full year.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_842_eus-gaap--UseOfEstimates_zsgECnsdFsTf" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86E_zwbgXtZSp5U">Use
of Estimates</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
preparation of financial statements in conformity with GAAP requires management to make estimates that affect the reported amounts of
assets and liabilities and disclosure of contingent assets and liabilities as of the date of the financial statements and the reported
amounts of revenues and expenses during the reporting period. Actual results could differ significantly from those estimates. Significant
accounting estimates in these financial statements include valuation assumptions for share-based payments, allowance for doubtful accounts, inventory reserves, accrual for warranty reserves, the carrying value of long-lived assets and intangible assets,
income tax valuation allowances, and the allocation of the transaction price to the performance
obligations in our contracts with customers.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_843_eus-gaap--RevenueRecognitionPolicyTextBlock_zecMYuNtlmYc" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86F_zNvuZaRv3bNh">Revenue
Recognition</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company adopted the Financial Accounting Standards Board&#8217;s (the &#8220;FASB&#8221;) Accounting Standards Codification (&#8220;ASC&#8221;)
606, Revenue from Contracts with Customer (Topic 606) (&#8220;ASC 606&#8221;) on January 1, 2018 and the Company elected to use the modified
retrospective transition method which requires application of ASC 606 to uncompleted contracts at the date of adoption. The adoption
of ASC 606 did not have a material impact on the financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Under
ASC 606, the Company must identify the contract with a customer, identify the performance obligations in the contract, determine the
transaction price, allocate the transaction price to the performance obligations in the contract, and recognize revenue when (or as)
the Company satisfies a performance obligation. Significant judgment is necessary when making these determinations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s primary sources of revenue are derived from simulator and accessories sales, training and installation, the sale of customizable
software and the sale of extended service-type warranties. The Company&#8217;s policy is to typically invoice upon completion of installation
and/or training until such time the performance obligations that have been satisfied are included in unbilled. Sales discounts are presented
in the financial statements as reductions in determining net revenues. Credit sales are recorded as current assets (accounts receivable
and unbilled revenue). Prepaid deposits received at the time of sale and extended warranties purchased are recorded as current and long-term
liabilities (deferred revenue) until earned. The following briefly summarizes the nature of our performance obligations and method of
revenue recognition:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Performance
    Obligation</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Method
    of Recognition</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Simulator
    and accessories</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Upon
    transfer of control</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Installation
    and training</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Upon
    completion or over the period of services being rendered</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Extended
    service-type warranty</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
    and recognized over the life of the extended warranty</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customized
    software and content</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Upon
    transfer of control or over the period services are performed depending on the terms of the contract</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customized
    content scenario</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
    performance obligation is transferred over time (input method using time and materials expanded)</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales-based
    royalty exchanged for license of intellectual property</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Recognized
    as the performance obligation is satisfied over time &#8211; which is as the sales occur.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company recognizes revenue upon transfer of control or upon completion of the services for the simulator and accessories; for the installation
and training and customized software performance obligations as the customer has the right and ability to direct the use of these products
and services and the customer obtains substantially all of the remaining benefit from these products and services at that time. Revenue
from certain customized content contracts may be recognized over the period the services are performed based on the terms of the contract.
For the sales-based royalty exchanged for license of intellectual property, the Company recognized revenue as the sales occur over time.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company recognizes revenue on a straight-line basis over the period of services being rendered for the extended service-type warranties
as these warranties represent a performance obligation to &#8220;stand ready to perform&#8221; over the duration of the warranties. As
such, the warranty service is performed continuously over the warranty period.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Each
contract states the transaction price. The contracts do not include variable consideration, significant financing components or noncash
consideration. The Company has elected to exclude sales and similar taxes from the measurement of the transaction price. The contract&#8217;s
transaction price is allocated to the performance obligations based upon their stand-alone selling prices. Discounts to the stand-alone
selling prices, if any, are allocated proportionately to each performance obligation.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_844_ecustom--DisaggregationOfRevenuePolicyTextBlock_znjvUfNmfMI4" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86B_zLoKXFmdrnY3">Disaggregation
of Revenue</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_893_eus-gaap--DisaggregationOfRevenueTableTextBlock_zIsariXe6LBa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Under
ASC 606, disaggregated revenue from contracts with customers depicts the nature, amount, timing, and uncertainty of revenue and cash
flows affected by economic factors. The Company has evaluated revenues recognized and the following table illustrates the disaggregation
disclosure by customer&#8217;s location and performance obligation.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Disaggregation
of Revenue</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BB_zwYKlGyBElmj" style="display: none">Schedule of Disaggregation of Revenues</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"/></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="30" style="border-bottom: Black 1.5pt solid; text-align: center">Three Months ended June 30,</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center">2021</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Commercial</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Government</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">International</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Commercial</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Government</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">International</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 20%; text-align: left">Simulators and accessories</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98D_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zjTLCRducMRa" style="width: 6%; text-align: right" title="Simulators and accessories">3,521,100</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_984_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zZr8tM6oJHl4" style="width: 6%; text-align: right" title="Simulators and accessories">1,422,233</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_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zDplKq28jrT5" style="width: 6%; text-align: right" title="Simulators and accessories">1,737,301</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_98D_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630_zQNjko2WMMMb" style="width: 6%; text-align: right" title="Simulators and accessories">6,680,634</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_989_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zTskqGmCXhVf" style="width: 6%; text-align: right" title="Simulators and accessories">543,890</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_982_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_za7cQ7BifiU5" style="width: 6%; text-align: right" title="Simulators and accessories">3,503,592</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_989_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z5lkLIk5cFQb" style="width: 6%; text-align: right" title="Simulators and accessories">106,933</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_985_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630_zHzMLN19PPbf" style="width: 6%; text-align: right" title="Simulators and accessories">4,154,415</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Extended service-type warranties</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zuuysX2VShk9" style="text-align: right" title="Simulators and accessories">30,546</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zelWLOQWiiRh" style="text-align: right" title="Simulators and accessories">747,878</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zYk1KwnIugdd" style="text-align: right" title="Simulators and accessories">27,646</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630_z5wKq0pbWgi6" style="text-align: right" title="Simulators and accessories">806,070</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zIc028d26tl8" style="text-align: right" title="Simulators and accessories">25,547</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_z3aElAjiMXtd" style="text-align: right" title="Simulators and accessories">673,970</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zHqDsFFjpVyc" style="text-align: right" title="Simulators and accessories">28,965</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630_zgduGN9ZmCd" style="text-align: right" title="Simulators and accessories">728,482</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Customized software and content</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zdI6i28Rh5O8" style="text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0713">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zCz2lafgadC7" style="text-align: right" title="Simulators and accessories">60,392</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zGLvo0xQTMl7" style="text-align: right" title="Simulators and accessories">126,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20220401__20220630_zXfzFHoHIFM9" style="text-align: right" title="Simulators and accessories">186,392</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z0iDalua8uLa" style="text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0721">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zvFX1VPeTOjd" style="text-align: right" title="Simulators and accessories">146,543</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zsiWaPY5v6Gi" style="text-align: right" title="Simulators and accessories">21,170</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20210401__20210630_zVBIs15ofj93" style="text-align: right" title="Simulators and accessories">167,713</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Installation and training</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zgKfTnIq3u36" style="text-align: right" title="Simulators and accessories">35,343</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zdPGSKOV1vGf" style="text-align: right" title="Simulators and accessories">249,847</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z1cUfY8atsz7" style="text-align: right" title="Simulators and accessories">39,097</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630_zBSs0M93RJP1" style="text-align: right" title="Simulators and accessories">324,287</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zIrpbUVde8Df" style="text-align: right" title="Simulators and accessories">15,043</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zAUqLquwoxtd" style="text-align: right" title="Simulators and accessories">186,909</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zMxyglxfIHRg" style="text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0741">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630_z3fGubiltAs3" style="text-align: right" title="Simulators and accessories">201,952</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Licensing and royalties</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zotNvXeUFQF7" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0745">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98E_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zomPBQLTw6j4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0747">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z4aurUWgRHCi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0749">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630_zr7eT2vfgbwj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0751">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_981_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zYnyJqBz5Pt5" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories">2,630</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98F_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zkYzbb8XgAUb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0755">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zmVAkELxIaV" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0757">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630_zePUOV6b0ohe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories">2,630</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total Revenue</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z2L6068QwXO" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">3,586,989</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zzz72VsbaV8k" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">2,480,350</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zWCi49zG1NDf" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">1,930,044</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_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630_zlg1aTBCnXSj" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">7,997,383</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zIFDiraaYuV1" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">587,110</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_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zZYnIZqZEoWh" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">4,511,014</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zaPqjGEqAw8b" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">157,068</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_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630_zfn4sxTuNYM7" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">5,255,192</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="30" style="border-bottom: Black 1.5pt solid; text-align: center">Six Months ended June 30,</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center">2021</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Commercial</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Government</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">International</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Commercial</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Government</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">International</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 20%; text-align: left">Simulators and accessories</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98B_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zutlr6kBo8Z1" style="width: 6%; text-align: right" title="Simulators and accessories">5,101,292</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_981_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_z475SpeWhZFd" style="width: 6%; text-align: right" title="Simulators and accessories">4,646,791</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_98E_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zxEu68r5Jep3" style="width: 6%; text-align: right" title="Simulators and accessories">2,643,938</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_98A_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630_z5hypVzDZVe5" style="width: 6%; text-align: right" title="Simulators and accessories">12,392,021</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_981_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zgei3eb1GAG" style="width: 6%; text-align: right" title="Simulators and accessories">815,528</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_986_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zn8azzg22IW9" style="width: 6%; text-align: right" title="Simulators and accessories">5,181,515</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_985_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zUGcGiAdipgb" style="width: 6%; text-align: right" title="Simulators and accessories">1,184,118</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_98A_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630_zQuggBJhdxck" style="width: 6%; text-align: right" title="Simulators and accessories">7,181,161</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Extended service-type warranties</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zMjJlhBuv141" style="text-align: right" title="Simulators and accessories">62,033</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zDd8MhyfZY06" style="text-align: right" title="Simulators and accessories">1,478,238</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zYlEJ5URh8Z2" style="text-align: right" title="Simulators and accessories">45,308</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630_zk4r6R0YWXPk" style="text-align: right" title="Simulators and accessories">1,585,579</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zolGWkI0AOt5" style="text-align: right" title="Simulators and accessories">47,621</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zD72MtM2nKAb" style="text-align: right" title="Simulators and accessories">1,344,554</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zRRXx38FVA2d" style="text-align: right" title="Simulators and accessories">49,015</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630_zI3Ta6CYYRU3" style="text-align: right" title="Simulators and accessories">1,441,190</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Customized software and content</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zY3J3Akm8BB5" style="text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0809">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zGW4MAf4KTmd" style="text-align: right" title="Simulators and accessories">2,106</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zg2F2pjitR79" style="text-align: right" title="Simulators and accessories">209,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20220101__20220630_zWX4vYPCdTS1" style="text-align: right" title="Simulators and accessories">211,106</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zSik14E2ZTfj" style="text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0817">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zD85NlqDDEv" style="text-align: right" title="Simulators and accessories">613,956</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zc4eFFe1PpH1" style="text-align: right" title="Simulators and accessories">73,443</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20210101__20210630_zM8YkM2RRc19" style="text-align: right" title="Simulators and accessories">687,399</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Installation and training</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_ecustom--InstallationAndTraining_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zPpTgMygdpol" style="text-align: right" title="Simulators and accessories">47,208</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--InstallationAndTraining_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zXo6mkwmfYlc" style="text-align: right" title="Simulators and accessories">407,400</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_ecustom--InstallationAndTraining_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z3JhHEYLIwWj" style="text-align: right" title="Simulators and accessories">107,297</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--InstallationAndTraining_pp0p0_c20220101__20220630_zE0xkGoUysIf" style="text-align: right" title="Simulators and accessories">561,905</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zyAbWSRsUHvj" style="text-align: right" title="Simulators and accessories">49,864</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zfgBAZnLLkel" style="text-align: right" title="Simulators and accessories">306,707</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zccYWc3OQe74" style="text-align: right" title="Simulators and accessories">26,350</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630_zcX0nIxdNKR5" style="text-align: right" title="Simulators and accessories">382,921</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Licensing and royalties</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zOhEY11o8ACl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0841">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zBXVJxXIT4Lf" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0843">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zC9SSX857kK8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0845">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630_zWt9xiOYQ8Yh" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0847">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98B_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z3VU3q189QG1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories">4,430</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zZciaxILhVFa" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0851">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_986_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zIV1OekVlMZf" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0853">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630_zzJMtiIvFemi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories">4,430</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total Revenue</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_ztuBgPgUWdIg" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">5,210,533</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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zbfbVSGiRgVa" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">6,534,535</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_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zMVoctgeIBrb" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">3,005,543</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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630_zK57tbXuQmm8" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">14,750,611</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zGVrHlODfBn1" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">917,443</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zP9RwBZnU862" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">7,446,732</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zHkwmJCBl5W2" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">1,332,926</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630_zwmb9Sjl2Zl8" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">9,697,101</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the six months ended June 30, 2022, governmental customers comprised $<span id="xdx_900_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_zHsMRR8bUA41" title="Revenue">6,534,535</span>, or <span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_z9eEzLxsetL9" title="Concentration of credit risk">44</span>% of total net sales, commercial customers comprised
$<span id="xdx_90D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zQe9P6TYufUj" title="Revenue">5,210,533</span>, or <span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zeJy0PnWcet3" title="Concentration of credit risk">35</span>% of total net sales, and international customers comprised $<span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zoSRzBPprKg4" title="Revenue">3,005,543</span>, or <span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zx3z2eYeOdGg" title="Concentration of credit risk">20</span>% of total net sales. By comparison, for
the six months ended June 30, 2021, governmental customers comprised $<span id="xdx_90E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_z7yF9LMGFhta" title="Revenue">7,446,732</span>, or <span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_zCncbpAo498j" title="Concentration of credit risk">77</span>% of total net sales, commercial customers comprised
$<span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zzBsAXW2ojp4" title="Revenue">917,443</span>, or <span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zLTGLMrUpgUc" title="Concentration of credit risk">9</span>% of total net sales, and international customers comprised $<span id="xdx_905_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zJ3J6mqDZwuk" title="Revenue">1,332,926</span>, or <span id="xdx_90B_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_z3apCwOGySD4" title="Concentration of credit risk">14</span>% of total net sales.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_84E_eus-gaap--DepositContractsPolicy_zkb7GfFJdVg4" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86C_z1683k2aAiH2">Customer
Deposits</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customer
deposits consist of prepaid deposits received for equipment purchase orders and for Subscription Training Equipment Partnership (&#8220;STEP&#8221;)
operating agreements that expire annually. Customer deposits are considered a deferred liability until the completion of the customer&#8217;s
contract performance obligation. When revenue is recognized, the deposit is applied to customer&#8217;s receivable balance. Customer
deposits are recorded as a current liability under deferred revenue on the accompanying balance sheet and totalled $<span id="xdx_900_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pp0p0_c20220630__us-gaap--IncomeStatementLocationAxis__custom--DeferredRevenueMember_zuoXi6CG9398" title="Customer deposits, current">3,212,846</span> and $<span id="xdx_900_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pp0p0_c20211231__us-gaap--IncomeStatementLocationAxis__custom--DeferredRevenueMember_z4cc6PSeLhVf" title="Customer deposits, current">2,371,531</span>
at June 30, 2022 and December 31, 2021, respectively. Changes in deferred revenue amounts related to customer deposits will fluctuate
from year to year based upon the mix of customers required to prepay deposits under the Company&#8217;s credit policy.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_84E_eus-gaap--StandardProductWarrantyPolicy_zKLWBsZQxJF1" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86B_zG59nK5Y0crj">Warranty</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company warranties its products from manufacturing defects on a limited basis for a period of one year after purchase, but also sells
separately priced extended service-type warranties for periods of up to four years after the expiration of the standard one-year warranty.
During the term of the initial one-year warranty, if the device fails to operate properly from defects in materials and workmanship,
the Company will fix or replace the defective product. Deferred revenue for separately priced extended warranties one year or less totalled
$<span id="xdx_909_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220630__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearOrLessMember_zVsqqR4HWjw6" title="Extended warranties">1,160,327</span> and $<span id="xdx_90A_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearOrLessMember_z3okiH8tPzM9" title="Extended warranties">1,764,034</span> as of June 30, 2022 and December 31, 2021, respectively. Deferred revenue for separately priced extended warranties
longer than one year totalled $<span id="xdx_900_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220630__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--LongerThanOneYearMember_z1RS7AiSGdPg" title="Extended warranties">2,311,052</span> and $<span id="xdx_90F_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--LongerThanOneYearMember_zLtwnMLeY9yf" title="Extended warranties">1,815,871</span> as of June 30, 2022 and December 31, 2021, respectively. The accrual for the one-year
manufacturer&#8217;s warranty liability totalled $<span id="xdx_902_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220630__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearMember_zTq78dY2oQZc" title="Extended warranties">434,000</span> and $<span id="xdx_90C_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearMember_zaNPppemWQe6" title="Extended warranties">384,000</span> as of June 30, 2022 and December 31, 2021, respectively. During
the six months ended June 30, 2022 and 2021, the Company recognized revenue of $<span id="xdx_903_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pp0p0_c20220101__20220630_zyFo4EpVIKgc" title="Revenue recognized">916,069</span> and $<span id="xdx_90D_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pp0p0_c20210101__20210630_zqMhLoylPff8" title="Revenue recognized">682,842</span>, respectively, related to the
extended service-type warranties that was amortized from the deferred revenue balance at the beginning of each period. Changes in deferred
revenue amounts related to extended service-type warranties will fluctuate from year to year based upon the average remaining life of
the warranties at the beginning of the period and new extended service-type warranties sold during the period.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_843_eus-gaap--ConcentrationRiskCreditRisk_z2YPoWn779fk" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_863_zBhUqr30Edfk">Concentration
of Credit Risk and Major Customers and Suppliers</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Financial
instruments that potentially subject the Company to concentrations of credit risk consist of cash and cash equivalents, certificates
of deposit, accounts receivable and notes receivable.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s cash, cash equivalents and certificates of deposit are maintained with financial institutions with high credit standings
and are FDIC insured deposits. The FDIC insures deposits according to the ownership category in which the funds are insured and how the
accounts are titled. The standard deposit insurance coverage limit is $<span id="xdx_906_eus-gaap--CashFDICInsuredAmount_iI_pp0p0_c20220630_zuw1nl4UuIV3" title="FDIC insured amount">250,000</span> per depositor, per FDIC-insured bank, per ownership category.
The Company had uninsured cash and cash equivalents of $<span id="xdx_90D_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20220630_zspbxBje0Xz2" title="Uninsured cash and cash equivalents">14,515,248</span> and $<span id="xdx_90F_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20211231_zGRz5zM9FOwf" title="Uninsured cash and cash equivalents">19,207,786</span> as of June 30, 2022 and December 31, 2021, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Most
sales are to governments that are typically made on credit and the Company generally does not require collateral. Management performs
ongoing credit evaluations of its customers&#8217; financial condition and maintains an allowance for estimated losses. Historically,
the Company has experienced minimal charges relative to doubtful accounts.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Historically,
the Company primarily sells its products to United States federal and state agencies. For the six months ended June 30, 2022, no single
customer comprised more than <span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerProductAndServiceBenchmarkMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--NoCommercialCustomerMember_zhil1NbJhYub" title="Concentration of credit risk">10</span>% of total net sales. By comparison, for the six months ended June 30, 2021, one federal agency comprised
<span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerProductAndServiceBenchmarkMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__custom--OneFederalAgencyMember_zl7a484Bqmw1" title="Concentration of credit risk">10</span>% of total net sales.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2022, one commercial customer comprised <span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__srt--StatementGeographicalAxis__custom--OneStateAgencyMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--OneCommercialCustomerMember_zm9rSHOq3Gz5" title="Concentration of credit risk">13.7</span>% of total accounts receivable. By comparison, as of December 31, 2021, the Company
did not have any customer that accounted for more than <span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--StatementGeographicalAxis__custom--OneStateAgencyMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zZOeBhqTn0J4" title="Concentration of credit risk">10</span>% of total accounts receivable.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>&#160;</i></b></span></p>

<p id="xdx_843_eus-gaap--EarningsPerSharePolicyTextBlock_zXIBLZwPDL6k" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_861_zewpF6jmD1Jl">Net
Income per Common Share</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89E_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zkF1xMUcl9v6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
net income per common share is computed by dividing net income by the weighted average of common shares outstanding. Diluted net income
per share reflects the potential dilution, using the treasury stock method, that would occur if outstanding stock options and warrants
were exercised. Earnings per share computations are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B3_zRinQ8eaXwC2">Schedule
of Earnings Per Share</span></span></p>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"/></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_49E_20220401__20220630_zKWHJd95PtXf" 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_493_20210401__20210630_zT9dG7G2vhp7" 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_496_20220101__20220630_zxxm8uHft6Nf" 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_49C_20210101__20210630_zwf4tZrluuJf" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center">Three Months Ended June 30,</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center">Six Months Ended June 30,</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2021</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2021</td><td style="padding-bottom: 1.5pt">&#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><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_402_eus-gaap--NetIncomeLoss_zhufJXYP7J0i" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 44%; text-align: left">Net Income</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">787,374</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">529,359</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,364,448</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,184,522</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_zDB0s6EhixJ5" style="vertical-align: bottom; background-color: White">
    <td>Weighted average common stock outstanding</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,866,775</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,644,363</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,837,186</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">9,209,808</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--IncrementalCommonSharesAttributableToStockOptions_zVpGDN1sUnZj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Incremental shares from stock options</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">25,527</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">48,875</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">30,481</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(299</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_z4I4U3aNLMx3" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Weighted average common stock outstanding diluted</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">10,892,302</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">10,693,238</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">10,867,667</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">9,209,509</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income per common share and common equivalent shares</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_40F_eus-gaap--EarningsPerShareBasic_z0xkHrRwkDna" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Basic</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.07</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.05</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.13</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.13</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--EarningsPerShareDiluted_ze3Bo7JeoL02" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Diluted</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.07</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.05</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.13</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.13</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A7_z4sedqiGILw5" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 general note to the financial statements for the reporting entity which may include, descriptions of the basis of presentation, business description, significant accounting policies, consolidations, reclassifications, new pronouncements not yet adopted and changes in 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -URI https://asc.fasb.org/topic&amp;trid=2197479<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -URI https://asc.fasb.org/topic&amp;trid=2134479<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -URI https://asc.fasb.org/topic&amp;trid=2122394<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI https://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="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>18
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648022807600">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventory<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_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 );">Inventory</a></td>
<td class="text"><p id="xdx_80D_eus-gaap--InventoryDisclosureTextBlock_zbz58sXlVt7d" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
2. <span id="xdx_823_z8Cbyt9K4fee">Inventory</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_899_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zB2J1gv2r2Bg" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inventory
consisted of the following as of:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BD_zRNpytf4egKa" style="display: none">Schedule of Inventory</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_494_20220630_zxTJ8ciwSvli" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20211231_z3ceBRbUmkN6" style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt">&#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--InventoryWorkInProcessAndRawMaterials_iI_pp0p0_maINzu8Z_zrpcH0EmRsa4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Raw materials and work in process</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">9,134,217</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: 18%; text-align: right">5,229,636</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--InventoryValuationReserves_iNI_pdp0_di_msINzu8Z_z0BVIDuU5H5g" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Reserve</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(302,431</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(214,712</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,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_408_eus-gaap--InventoryNet_iTI_pp0p0_mtINzu8Z_z8qbygwOLZNd" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total inventory</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,831,786</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">5,014,924</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A7_z9o8y0agJ9vf" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company regularly evaluates the useful life of its spare parts inventory and as a result, the Company classified $<span id="xdx_908_eus-gaap--OtherAssetsNoncurrent_iI_pp0p0_c20220630__us-gaap--BalanceSheetLocationAxis__custom--SparePartsMember_zfFXA3QhtKm6" title="Other assets, long-term">322,968</span> and $<span id="xdx_901_eus-gaap--OtherAssetsNoncurrent_iI_pp0p0_c20211231__us-gaap--BalanceSheetLocationAxis__custom--SparePartsMember_zwPCWHIDar1d" title="Other assets, long-term">136,241</span>
of spare parts as Other Assets, long-term on the Balance Sheet at June 30, 2022 and December 31, 2021, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI https://asc.fasb.org/topic&amp;trid=2126998<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>19
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648027375312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and Equipment<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_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 );">Property and Equipment</a></td>
<td class="text"><p id="xdx_805_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_zCqyv2VM1K89" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
3. <span id="xdx_827_zdxULDnq560b">Property and Equipment</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_892_eus-gaap--PropertyPlantAndEquipmentTextBlock_zB9eRWAk0Gle" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Property
and equipment consisted of the following as of:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BA_zB1N72eEEvCa" style="display: none">Schedule
of Property and Equipment</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: 0.25in">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20220630_zlmsQtDFxwai" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_499_20211231_z8ZaNOStQipa" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt">&#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_407_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zaL7n2iizDWe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 56%">Land</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">1,778,987</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: 18%; text-align: right">1,778,987</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_z6lBL7YHCTF8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Building &amp; Building Improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">9,097,454</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">9,005,205</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zvXyXQiIeJOj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Computer equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,204,720</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,171,319</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--FurnitureAndOfficeEquipmentMember_zK1kJ0HJJSP8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Furniture and office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">272,806</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">262,814</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zzNGWuB9rC5d" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Machinery and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,739,881</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,970,007</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--STEPEquipmentMember_zCVuowBFGA45" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">STEP equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,790,268</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,496,252</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zq28fCbNOOD" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">334,934</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">334,934</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ConstructionInProgressMember_zT81lrLVYFa" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; text-align: left">Construction in Progress</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">533,194</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">7,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,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_40D_eus-gaap--PropertyPlantAndEquipmentGross_iI_maPPAENzO3V_zOxj9js9bOyk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Total property and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">17,752,244</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">16,026,518</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_di_msPPAENzO3V_zFNXY5r15js2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Less: Accumulated depreciation and amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(3,566,820</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(3,161,752</td><td style="padding-bottom: 1.5pt; text-align: left">)</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_404_eus-gaap--PropertyPlantAndEquipmentNet_iTI_mtPPAENzO3V_zNSnbxUUU3R5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">Property and equipment, net</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">14,185,424</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">12,864,766</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A2_zQFKm1IbvXXb" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Depreciation
expense, including STEP depreciation, was $<span id="xdx_90D_eus-gaap--Depreciation_pp0p0_c20220101__20220630_zTl65saozGbd" title="Depreciation expense">405,162</span> and $<span id="xdx_90A_eus-gaap--Depreciation_pp0p0_c20210101__20210630_zVUSCKJNxfP2" title="Depreciation expense">196,711</span> for the six months ended June 30, 2022 and 2021, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=d3e99893-112916<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -URI https://asc.fasb.org/topic&amp;trid=2155823<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=SL120174063-112916<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=d3e99779-112916<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>20
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648027375312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Asset<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets 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_IntangibleAssetsDisclosureTextBlock', window );">Intangible Asset</a></td>
<td class="text"><p id="xdx_808_eus-gaap--IntangibleAssetsDisclosureTextBlock_ziPPFtfftpAh" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
4. <span id="xdx_829_z00QVomet0ql">Intangible Asset</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_899_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zLWioVK0mBu2" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible
asset consisted of the following as of:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B8_z13DlyxMnHYf" style="display: none">Schedule
of Intangible Asset</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20220630_zZ4LjJmhprcf" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_490_20211231_zbcvlLJcCtNh" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_hus-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zerLgzfmIZ5c" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 56%">Patents</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">160,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: 18%; text-align: right">160,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_hus-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--CapitalizedMediaContentMember_zXMja7xxBSnl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Capitalized media content</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">417,240</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">331,228</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_hus-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--AcquiredLeaseIntangibleAssetsMember_z1ldbB4Ky38a" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Acquired lease intangible assets</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">83,963</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">83,963</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_maIANEGzWG1_zSUv3dTBe40d" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Total intangible assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">661,203</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">575,191</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_di_msIANEGzWG1_zDO9ddd3Mzfd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Less accumulated amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(81,240</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(40,112</td><td style="padding-bottom: 1.5pt; text-align: left">)</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_402_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iTI_mtIANEGzWG1_zNzI27dx37Fd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">Intangible assets, net</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">579,963</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">535,079</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AD_zdMX5bJqkHq7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Amortization
expense was $<span id="xdx_909_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20220101__20220630_zFVKzxgfML23" title="Amortization of intangible asset">41,128</span> and $<span id="xdx_907_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20210101__20210630_zyNronTZVY8e" title="Amortization of intangible asset">4,445</span> for the six months ended June 30, 2022 and 2021, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all or part of the information related to intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -URI https://asc.fasb.org/subtopic&amp;trid=2144471<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648027404720">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesOfLesseeDisclosureTextBlock', window );">Leases</a></td>
<td class="text"><p id="xdx_800_eus-gaap--LeasesOfLesseeDisclosureTextBlock_zkdpOLy0SgM" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
5. <span id="xdx_82A_zSYjBAdAA9Jl">Leases</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_890_ecustom--ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock_gL3SOBSCOLAAL-ES_zSpw8xuHja06" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
balance sheet classification of lease assets and liabilities as of June 30, 202 was as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B8_zsSdTHjIso8a" style="display: none">Schedule
of Balance Sheet Classification of Lease Assets and Liabilities</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: 0.25in">
  <tr style="display: none; vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&#160;</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td>
    <td colspan="2" id="xdx_493_20220101__20220630_z7akEdCC9O96" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">Balance Sheet Classification</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Assets</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--OperatingLeaseRightOfUseAsset_iS_zydlMZgZgfte" style="vertical-align: bottom; background-color: White">
    <td style="width: 80%; text-align: left">Operating lease right-of-use assets, December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">784,306</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_di_zSX16sbWUQy5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Amortization for the six months ended June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(160,658</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40D_eus-gaap--OperatingLeaseRightOfUseAsset_iE_zHZs42SQmBSc" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total operating lease right-of-use asset, June 30, 2022</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">623,648</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Liabilities</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>Current</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--OperatingLeaseLiabilityCurrent_iE_zW0VTsftDfQa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Operating lease liability, short-term</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">361,403</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Non-current</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_400_eus-gaap--OperatingLeaseLiabilityNoncurrent_iE_zg3ZQK5Fhx97" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Operating lease liability, long-term</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">321,217</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--OperatingLeaseLiability_iE_zzT98s9Blklj" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total lease liabilities</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">682,620</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A4_z7Xbzz2PypJ9" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_898_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_gL3LOLLMTTB-RT_zj390e7mE7Th" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Future
minimum lease payments as of June 30, 2022 under non-cancellable operating leases are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B3_zhOke67QKMA6" style="display: none">Schedule
of Future Minimum Lease Payments</span>&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 60%; margin-right: auto">
  <tr style="display: none; vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_493_20220630_zCnvSIYEpns7" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_402_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maLOLLPzpK3_z1D442UTwlhk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">190,941</td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr id="xdx_40A_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLOLLPzpK3_zZycEDpmeya" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">390,562</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maLOLLPzpK3_zCnE4tAmZil9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">131,152</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></tr>
  <tr id="xdx_402_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPzpK3_z5k88sBD3BN5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Total lease payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">712,655</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zABWwG5o4OO5" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; text-align: left">Less: imputed interest</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(30,035</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_401_eus-gaap--OperatingLeaseLiability_iI_zDLXMVJ1Sywl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">Operating lease liability</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">682,620</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A6_zg84XJaY0T12" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 22.5pt"><span id="xdx_C07_gL3SOBSCOLAAL-ES_zkO3GhppMXId"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<div id="xdx_C0D_gL3SOBSCOLAAL-ES_zZ6r2vp61tra"><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
balance sheet classification of lease assets and liabilities as of December 31, 2021 was as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" id="xdx_302_134_zZqxjYwKQBul" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: 0.25in" summary="xdx: Disclosure - Schedule of Balance Sheet Classification of Lease Assets and Liabilities (Details)">
  <tr style="display: none; vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&#160;</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td>
    <td colspan="2" id="xdx_49D_20210101__20211231_zBj0F54iMxz" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">&#160;</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">Balance Sheet Classification</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">December 31, 2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Assets</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--OperatingLeaseRightOfUseAsset_iS_zyP6oH7Si4bc" style="vertical-align: bottom; background-color: White">
    <td style="width: 78%; text-align: left">Operating lease right-of-use assets, December 31, 2020</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">1,094,527</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--OperatingLeaseRightOfUseAsset_iS_z9UsPmARdCJ2" style="display: none; vertical-align: bottom; background-color: White">
    <td style="text-align: left">Operating lease right-of-use assets, beginning</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,094,527</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40D_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_di_zmdXr5L3g8Sk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Amortization for the year ended December 31, 2021</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(310,221</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_407_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_di_zhHNnFVmP4wd" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(310,221</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
<tr id="xdx_40D_eus-gaap--OperatingLeaseRightOfUseAsset_iE_z0hD40NH2OUk" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total operating lease right-of-use asset, December 31, 2021</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">784,306</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--OperatingLeaseRightOfUseAsset_iE_zwHb9yHgfyl2" style="display: none; vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total operating lease right-of-use asset, ending</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">784,306</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Liabilities</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>Current</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--OperatingLeaseLiabilityCurrent_iE_zphwXuFHdG94" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Operating lease liability, short-term</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">347,772</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Non-current</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_400_eus-gaap--OperatingLeaseLiabilityNoncurrent_iE_zq2rwg9USyy8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; padding-left: 10pt; text-align: left">Operating lease liability, long-term</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">505,383</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--OperatingLeaseLiability_iE_zfzRN2P9dxv" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total lease liabilities</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">853,155</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_C09_gL3SOBSCOLAAL-ES_zKvJe3HEdxX7"><span id="xdx_C02_gL3LOLLMTTB-RT_zRM2HuIiFmY3">&#160;</span></span></span></p>

<div id="xdx_C01_gL3LOLLMTTB-RT_zBbDJJ0cNfnc"><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Future
minimum lease payments as of December 31, 2021 under non-cancellable operating leases are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" id="xdx_30B_134_zFRL7ES6zt3c" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 60%; margin-right: auto" summary="xdx: Disclosure - Schedule of Future Minimum Lease Payments (Details)">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_49E_20211231_zN0RF4vqNoO" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maLOLLPz7cP_zeUVE5VzRHD5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">379,097</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLOLLPz7cP_zLUgcctrvKBb" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">390,562</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maLOLLPz7cP_z31o3qBm7Vb7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">131,152</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></tr>
  <tr id="xdx_40A_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPz7cP_zNC2O9r08bJ" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Total lease payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">900,811</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zyR4wW2XYPWi" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; text-align: left">Less: imputed interest</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(47,656</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40F_eus-gaap--OperatingLeaseLiability_iI_zdHxl8ilqzcd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">Operating lease liability</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">853,155</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_C04_gL3LOLLMTTB-RT_z6nMe6wVF3Kk">&#160;</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Rent
expense for the three months ended June 30, 2022 and 2021 was $<span id="xdx_904_eus-gaap--PaymentsForRent_pp0p0_c20220401__20220630_zTd07lPL1ttb" title="Rent expenses">195,201</span> and $<span id="xdx_904_eus-gaap--PaymentsForRent_pp0p0_c20210401__20210630_z65LfzNncy0c" title="Rent expenses">115,140</span>, respectively. Rent expense for the six months ended
June 30, 2022 and 2021 was $<span id="xdx_90E_eus-gaap--PaymentsForRent_pp0p0_c20220101__20220630_zmZmI3s7phDi" title="Rent expenses">404,453</span> and $<span id="xdx_902_eus-gaap--PaymentsForRent_pp0p0_c20210101__20210630_z2c1mTm2ePp4" title="Rent expenses">258,897</span>, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesOfLesseeDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lessee entity's leasing arrangements including, but not limited to, all of the following: (a.) The basis on which contingent rental payments are determined, (b.) The existence and terms of renewal or purchase options and escalation clauses, (c.) Restrictions imposed by lease agreements, such as those concerning dividends, additional debt, and further leasing.</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/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -URI https://asc.fasb.org/topic&amp;trid=2208923<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesOfLesseeDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648022797728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued Expenses<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_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_807_eus-gaap--AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_zwHdOk2s0Rxj" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
6. <span id="xdx_82A_zNywfjAGoOy9">Accrued Expenses</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_891_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_z4c8LJD2jPn" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accrued
compensation and related costs consisted of the following as of:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B7_zHsu8QgZJx11" style="display: none">Schedule
of Accrued Compensation and Related Costs</span>&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20220630_z4Ii5v3mWZLj" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49F_20211231_zYiUJ3djfbyl" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt">&#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_403_eus-gaap--AccruedSalariesCurrent_iI_pp0p0_maERLCzLng_zOTnDQXBE8I5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 56%; text-align: left">Salaries and wages payable</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">365,537</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: 18%; text-align: right">422,562</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AccruedEmployeeBenefitsCurrent_iI_pp0p0_maERLCzLng_z2rRkvF8NDw2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Employee benefits payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1136">-</span></td><td style="text-align: left"/><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">16,523</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--AccruedVacationCurrent_iI_pp0p0_maERLCzLng_zvv0gIBqAmDj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Accrued paid time off (PTO)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">574,185</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">483,311</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--DeferredCompensationCashBasedArrangementsLiabilityCurrent_iI_pp0p0_maERLCzLng_zf4GjYVIP5We" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; text-align: left">Profit sharing payable</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">289,682</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">139,682</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--EmployeeRelatedLiabilitiesCurrent_iTI_pp0p0_mtERLCzLng_zqscP8nIUd0l" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">Total accrued compensation and related costs</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,229,404</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,062,078</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A8_znTGJtnGxkT3" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89A_eus-gaap--AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock_zzDUsTV7Uaz8" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accrued
expenses and other current liabilities consisted of the following as of:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B4_zGkUjQ2nxE8l" style="display: none">Schedule
of Accrued Expenses and Other Current Liabilities</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 75%; margin-left: 0.25in">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_499_20220630_zUrpuPRP09Nh" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20211231_zEFuU0K3R2te" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#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 id="xdx_408_eus-gaap--ProductWarrantyAccrualClassifiedCurrent_iI_pp0p0_maAPAOAzeBe_maAPAOAzNHf_z60NZYFJ10if" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 56%; text-align: left">Manufacturer&#8217;s warranties</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">434,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: 18%; text-align: right">384,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--TaxesPayableCurrent_iI_pp0p0_maAPAOAzNHf_zOcUay1xnF8i" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Taxes payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">222,466</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">113,921</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--OtherBorrowings_iI_pp0p0_maAPAOAzNHf_zMan1lPb1JU2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Miscellaneous payable</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">613,620</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">493,823</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--AccountsPayableAndOtherAccruedLiabilitiesCurrent_iTI_pp0p0_mtAPAOAzNHf_zVNegCwKPLH2" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total accrued expenses and other current liabilities</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,270,086</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">991,744</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AE_z7pfhNwN5Tga" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a),20,24)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>23
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648022733328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note Payable<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_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_DebtDisclosureTextBlock', window );">Note Payable</a></td>
<td class="text"><p id="xdx_80F_eus-gaap--DebtDisclosureTextBlock_zDzO6zoUpVy5" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
7. <span id="xdx_828_zlp0QGk1QDpe">Note Payable</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
August 25, 2021, the Company completed the purchase of real property located in Chandler, Arizona (the &#8220;Property&#8221;) for $<span id="xdx_90F_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_pp0p0_c20210825__20210825__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--PropertyMember_zfuwBc5GpXV5" title="Payment to acquire assets">10,800,000</span>,
paid with cash and proceeds from a mortgage loan from Arizona Bank &amp; Trust in the amount of $<span id="xdx_90D_eus-gaap--ProceedsFromLoans_pp0p0_c20210825__20210825__dei--LegalEntityAxis__custom--ArizonaBankAndTrustMember_zdK7bmIus1G8" title="Proceeds from bank loan">8,600,000</span>. The loan terms include interest
to be accrued at a fixed rate of <span id="xdx_90A_eus-gaap--DebtInstrumentInterestRateDuringPeriod_pid_dp_uPure_c20210825__20210825__dei--LegalEntityAxis__custom--ArizonaBankAndTrustMember_zaMN4Biyqoz" title="Debt instrument interest rate">3</span>% per year, 119 regular monthly payments of $<span id="xdx_900_eus-gaap--DebtInstrumentPeriodicPayment_pp0p0_c20210825__20210825__dei--LegalEntityAxis__custom--ArizonaBankAndTrustMember__us-gaap--DebtInstrumentAxis__custom--OneHundredAndNineteenRegularMonthlyPaymentsMember_zPdn3muvqdZ6" title="Debt instrument periodic payment">40,978</span>, and one irregular payment of $<span id="xdx_90D_eus-gaap--DebtInstrumentPeriodicPayment_pp0p0_c20210825__20210825__dei--LegalEntityAxis__custom--ArizonaBankAndTrustMember__us-gaap--DebtInstrumentAxis__custom--OneIrregularPaymentMember_znBYZUiisJ52" title="Debt instrument periodic payment">5,956,538</span> due on
the maturity date of <span id="xdx_90F_eus-gaap--DebtInstrumentMaturityDate_c20210825__20210825__dei--LegalEntityAxis__custom--ArizonaBankAndTrustMember_zBeRtqqlyrJi" title="Maturity date">August 23, 2031</span>. The Company began making monthly payments on September 23, 2021. The payment and performance of
the loan is secured by a security interest in the property acquired.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_891_eus-gaap--ScheduleOfDebtTableTextBlock_zuox48HCaaQe" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
note payable amounts consist of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B5_zN5wDojxffya" style="display: none">Schedule
of Notes Payable</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.5in">
  <tr style="display: none; vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_499_20220630_zCMnzTCfwI3" 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_499_20211231_zg4HM3NIfYm2" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt">&#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 style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Short-term liabilities:</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--DebtInstrumentFaceAmount_iI_pp0p0_hus-gaap--ShortTermDebtTypeAxis__custom--NotesPayableMember_maNPCzD1Q_zbwtOyqZSQW" style="vertical-align: bottom; background-color: White">
    <td style="width: 56%; text-align: left">Note payable, principal</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">229,560</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: 18%; text-align: right">231,871</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestPayableCurrent_iI_pp0p0_hus-gaap--ShortTermDebtTypeAxis__custom--NotesPayableMember_maNPCzD1Q_zAaWfIJps8k8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Accrued interest on note</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">4,113</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">4,420</td><td style="padding-bottom: 1.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_40F_eus-gaap--NotesPayableCurrent_iTI_pp0p0_hus-gaap--ShortTermDebtTypeAxis__custom--NotesPayableMember_mtNPCzD1Q_zQ4knwYxD8u2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">Note payable, short-term</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">233,673</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">236,291</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 style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Long-term liabilities:</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_40F_eus-gaap--DebtInstrumentFaceAmount_iI_hus-gaap--LongtermDebtTypeAxis__custom--NotesPayableMember_zYntDlpsWhqk" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; text-align: left">Note payable, principal</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">8,165,838</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">8,280,395</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,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_40D_eus-gaap--LongTermNotesPayable_iI_pp0p0_hus-gaap--LongtermDebtTypeAxis__custom--NotesPayableMember_zdycWHk8zM77" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Note payable, long term</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,165,838</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">8,280,395</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A5_zDhuFSH8H9H2" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -URI https://asc.fasb.org/topic&amp;trid=2208564<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648022837088">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related Party Transactions<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_RelatedPartyTransactionsAbstract', window );"><strong>Related Party Transactions [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_RelatedPartyTransactionsDisclosureTextBlock', window );">Related Party Transactions</a></td>
<td class="text"><p id="xdx_80B_eus-gaap--RelatedPartyTransactionsDisclosureTextBlock_zxbwW0WElAN" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
8. <span id="xdx_820_zWLgS9qYlfQj">Related Party Transactions</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the six months ended June 30, 2022, the Company redeemed <span id="xdx_90B_eus-gaap--StockRedeemedOrCalledDuringPeriodShares_pid_c20220101__20220630__srt--TitleOfIndividualAxis__custom--ChiefExecutiveOfficerAndChiefOperatingOfficerMember_zgW1AzxTQVlc" title="Stock reedemed or called during period shares">17,500</span> previously awarded stock options nearing expiration from related parties
consisting of the Company&#8217;s Co-CEO and COO. &#160;The redemption eliminated the stock options and resulted in a total of $<span id="xdx_900_eus-gaap--AllocatedShareBasedCompensationExpense_pp0p0_c20220101__20220630_ziAit9TnknJe" title="Compensation expenses">47,800</span>
in additional compensation expense. During the six months ended June 30, 2022, one Board member purchased <span id="xdx_901_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20220101__20220630__srt--TitleOfIndividualAxis__custom--BoardMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zhLN2DkoMnXa" title="Stock issued during the period, new issues">5,000</span> shares of common stock,
$<span id="xdx_907_eus-gaap--CommonStockParOrStatedValuePerShare_iI_c20220630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember__srt--TitleOfIndividualAxis__custom--BoardMember_zj2spywvcTze" title="Common stock, par value">0.0001</span> par value per share which was then issued to him for previously awarded stock options at an
exercise price of $<span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_c20220101__20220630__srt--TitleOfIndividualAxis__custom--BoardMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zbvpKZ1n4u9h" title="Stock option exercised, value">12,725</span> cash paid.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the six months ended June 30, 2021, the Company redeemed <span id="xdx_909_eus-gaap--StockRedeemedOrCalledDuringPeriodShares_pid_c20210101__20210630__srt--TitleOfIndividualAxis__custom--ChiefExecutiveOfficerAndChiefOperatingOfficerMember_zQ8OJfGleijl" title="Stock reedemed or called during period shares">17,500</span> previously awarded stock options nearing expiration from related parties
consisting of the Company&#8217;s Co-CEO and COO. The redemption eliminated the stock options and resulted in a total of $<span id="xdx_900_eus-gaap--AllocatedShareBasedCompensationExpense_pp0p0_c20210101__20210630_z0J6YDpX8XVc" title="Compensation expenses">116,717</span> in
additional compensation expense. During the six months ended June 30, 2021, one Board member purchased <span id="xdx_907_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20210101__20210630__srt--TitleOfIndividualAxis__custom--BoardMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z2LnMAyA3lt2" title="Stock issued during the period, new issues">5,000</span> shares of Common Stock,
which was then issued to him for previously awarded stock options at an exercise price of $<span id="xdx_902_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_c20210101__20210630__srt--TitleOfIndividualAxis__custom--BoardMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zFaBXpimhPI5" title="Stock option exercised, value">6,070</span> cash paid.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_RelatedPartyTransactionsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RelatedPartyTransactionsAbstract</td>
</tr>
<tr>
<td style="padding-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_RelatedPartyTransactionsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.</p></div>
<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -URI https://asc.fasb.org/topic&amp;trid=2122745<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39691-107864<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648023857424">
<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">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_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_801_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_z5MAiWpDYhPf" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
9. <span id="xdx_82A_zjVKwJp3LjDa">Commitments and Contingencies</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>General
or Threatened Litigation</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">From
time to time, the Company is notified of threatened litigation or that a claim is being made against it. The Company evaluates contingencies
on an on-going basis and has established loss provisions for matters in which losses are probable and the amount of loss can be reasonably
estimated. There is no threatened litigation at this time.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Restricted
Stock Unit Grants</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company granted <span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_pid_c20210831__srt--TitleOfIndividualAxis__custom--CoChiefExecutiveOfficerMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z8bdVtzENr0j" title="Number of shares authorized">224,133</span>
and <span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_pid_c20210831__srt--TitleOfIndividualAxis__srt--ChiefOperatingOfficerMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z04K1QWzkZd6" title="Number of shares authorized">168,090</span>&#160;&#160;
performance-based restricted stock units (&#8220;RSUs&#8221;) in August 2021 to one of its Co-Chief Executive Officers and Chief
Operating Officer, respectively. The Company granted <span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_pid_c20220430__srt--TitleOfIndividualAxis__custom--CoChiefExecutiveOfficerMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zcfrujNlGpIa" title="Number of shares authorized">288,889</span>
performance-based RSUs in April 2022 to its other Co-Chief Executive Officer. It is the Company&#8217;s policy to estimate the fair
value of the RSU&#8217;s on the date of the grant and evaluate the probability of achieving the net profit (net income under GAAP)
tranches quarterly. If the target is deemed probable, the expense is amortized on a straight-line basis over the remaining time
period. The Company determined based on the vesting terms of the RSU grants that achieving net profit (net income under GAAP) for
the twelve months ending June 30, 2022, of $<span id="xdx_909_eus-gaap--NetIncomeLoss_c20220101__20220630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember__us-gaap--AwardDateAxis__custom--JuneThirtyTwoThousandAndTwentyTwoMember_zo0wPldYIdH4" title="Net income">2,500,000</span>
is probable, and recorded expense for the three months and six months ending June 30, 2022, of $26,250 and $<span id="xdx_90B_eus-gaap--ShareBasedCompensation_c20220101__20220630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z8JvMPRA1dj2">70,497</span>, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>&#160;</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Profit
Sharing</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">VirTra
provides a discretionary profit-sharing program that pays out a percentage of Company profits each year as a cash bonus to eligible
employees. The cash payment is typically split into two equal payments and distributed pro-rata in April and October of the
following year to only active employees. For the six months ended June 30, 2022 and 2021, $<span id="xdx_901_eus-gaap--OperatingExpenses_c20220101__20220630__us-gaap--DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis__us-gaap--DeferredProfitSharingMember_zSwArpTkdJWg" title="Operating expenses">150,000</span>
and $<span id="xdx_907_eus-gaap--OperatingExpenses_c20210101__20210630__us-gaap--DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis__us-gaap--DeferredProfitSharingMember_zzcn6fvMLIF5" title="Operating expenses">150,000</span>
was expensed to operations for profit sharing. For the three months ended March 31, 2022, $<span id="xdx_90E_eus-gaap--OperatingExpenses_c20220101__20220331__us-gaap--DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis__us-gaap--DeferredProfitSharingMember_z0r218b8c6i8">75,000</span> was expensed to operations for profit sharing. For the three months
ended March 31, 2021, <span id="xdx_901_eus-gaap--OperatingExpenses_do_c20210101__20210331__us-gaap--DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis__us-gaap--DeferredProfitSharingMember_zDQIC6R8WAIk">no</span> amount was expenses to operations due to uncertainty related to on-going COVID restrictions.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI https://asc.fasb.org/topic&amp;trid=2144648<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 440<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6491277&amp;loc=d3e6429-115629<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI https://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>26
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648021280784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders&#8217; Equity<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock', window );">Stockholders&#8217; Equity</a></td>
<td class="text"><p id="xdx_804_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_z66tHZXh6fU1" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
10. <span id="xdx_821_za96RPEJmLIc">Stockholders&#8217; Equity</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Stock
Repurchase</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
October 25, 2016, the Company&#8217;s Board of Directors authorized the repurchase of up to $<span id="xdx_904_eus-gaap--StockRepurchasedDuringPeriodValue_pn6n6_c20161024__20161025__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember__srt--RangeAxis__srt--MaximumMember_zSAJ3SgC1wh7" title="Stock repurchased during period, value">1</span> million of its common stock under Rule
10b-18 promulgated under the Securities Exchange Act of 1934, as amended. Purchases made pursuant to this authorization will be made
in the open market, in privately negotiated transactions, or pursuant to any trading plan that may be adopted in accordance with the
Rule 10b-18. The timing, manner, price and amount of any repurchases will be determined by the Company in its discretion and will be
subject to economic and market conditions, stock price, applicable legal requirements and other factors. On January 9, 2019, VirTra&#8217;s
Board of Directors authorized an additional $<span id="xdx_908_eus-gaap--StockRepurchasedDuringPeriodValue_pn6n6_c20190108__20190109__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember__srt--RangeAxis__srt--MaximumMember_zA7Z6Vu1XKqb" title="Stock repurchased during period, value">1</span> million be allocated for the repurchase of VirTra&#8217;s stock under the existing 10b-18
plan. The stock repurchase program was suspended as a result of interim rulings for public-company recipients of a PPP loan under the
CARES Act. The stock repurchase suspension remained in effect until the PPP loan was forgiven on July 20, 2021, and has continued to
remain in effect.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Treasury
Stock</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the six months ended June 30, 2022, the Company purchased no additional treasury shares.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Non-qualified
Stock Options</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has periodically issued non-qualified stock options to key employees, officers and directors under a stock option compensation
plan approved by the Board of Directors in 2009. Terms of option grants are at the discretion of the Board of Directors and are generally
seven years. Upon the exercise of these options, the Company expects to issue new authorized shares of its common stock. The following
table summarizes all non-qualified stock options as of:</span></p>

<p id="xdx_893_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zRNq8KAYmY24" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BD_z2jaGcJoQNm8" style="display: none">Schedule
of Non-qualified Stock Options</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2021</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center"><p style="margin-top: 0; margin-bottom: 0">Number of</p>
                                               <p style="margin-top: 0; margin-bottom: 0">Stock&#160;</p></td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center"><p style="margin-top: 0; margin-bottom: 0">Weighted</p>
                                               <p style="margin-top: 0; margin-bottom: 0">Exercise</p></td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center"><p style="margin-top: 0; margin-bottom: 0">Number of</p>
                                               <p style="margin-top: 0; margin-bottom: 0">Stock</p></td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center"><p style="margin-top: 0; margin-bottom: 0">Weighted</p>
                                               <p style="margin-top: 0; margin-bottom: 0">Exercise</p></td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Options&#160;</p></td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Price</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Options</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Price</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%; text-align: left">Options outstanding, beginning of year</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_z1eMf54NhIc1" style="width: 12%; text-align: right" title="Number of stock options, options outstanding, beginning of year">112,500</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_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zfF7gkeByxX7" style="width: 12%; text-align: right" title="Weighted exercise price option outstanding, beginning of year">3.51</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 id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zhOHqEdNUjlc" style="width: 12%; text-align: right" title="Number of stock options, options outstanding, beginning of year">164,167</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_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zqXgP8pJYPI6" style="width: 12%; text-align: right" title="Weighted exercise price option outstanding, beginning of year">3.13</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zXoHjamxLVUg" style="text-align: right" title="Number of stock options, granted"><span style="-sec-ix-hidden: xdx2ixbrl1246">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zlh4ey955LLa" style="text-align: right" title="Weighted exercise price, granted"><span style="-sec-ix-hidden: xdx2ixbrl1248">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zkW1FhoMFSDh" style="text-align: right" title="Number of stock options, granted"><span style="-sec-ix-hidden: xdx2ixbrl1250">-</span></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_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zhvf0vL4djx4" style="text-align: right" title="Weighted exercise price, granted"><span style="-sec-ix-hidden: xdx2ixbrl1252">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Redeemed</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zk9kqlTjz493" style="text-align: right" title="Number of stock options, redeemed">(17,500</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zh3xpgvEi8O4" style="text-align: right" title="Weighted exercise price redeemed">2.55</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_z9bBPwCjJUvi" style="text-align: right" title="Number of stock options, redeemed">(17,500</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zKN0GWn3KG32" style="text-align: right" title="Weighted exercise price redeemed">1.21</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Exercised</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zUx7A0Jt1NLl" style="text-align: right" title="Number of stock options, exercised">(5,000</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zn82pgYEGMT5" style="text-align: right" title="Weighted exercise price exercised">2.55</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zzldUJfgeExb" style="text-align: right" title="Number of stock options, exercised">(5,000</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zkVvaGhe8AV6" style="text-align: right" title="Weighted exercise price exercised">1.21</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Expired / terminated</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zqijlpRFD1Lj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of stock options, expired / terminated"><span style="-sec-ix-hidden: xdx2ixbrl1270">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zkPANKQduDNj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted exercise price expired / terminated"><span style="-sec-ix-hidden: xdx2ixbrl1272">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zcEzdti7CjG" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of stock options, expired / terminated"><span style="-sec-ix-hidden: xdx2ixbrl1274">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zN9DAgugP88d" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted exercise price expired / terminated"><span style="-sec-ix-hidden: xdx2ixbrl1276">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Options outstanding, end of period</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_iE_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zYcrv0WRKmSa" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of stock options options  outstanding end of period">90,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_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zGTMDZQrhkvj" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted exercise price, option outstanding end of period">3.76</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 id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zsOsQDtz9Q2i" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of stock options options  outstanding end of period">141,667</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--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zLbYuUHd7P97" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted exercise price, option outstanding end of period">3.43</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Options exercisable, end of period</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zQsYi3sKfjjl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of stock options options exercisable end of period">90,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_pid_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zp1j55MyMC86" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted exercise price, options exercisable, end of period">3.76</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zN14SyZxekPi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of stock options options exercisable end of period">141,667</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_pid_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zJMHTh0l3md8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted exercise price, options exercisable, end of period">3.43</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A6_zcQXL7DCcvPa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company did not have any non-vested stock options outstanding as of June 30, 2022 and December 31, 2021. The weighted average contractual
term for options outstanding and exercisable at June 30, 2022 and 2021 was <span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220101__20220630_zEjdeUuvm7x6" title="Options outstanding weighted average contractual term"><span id="xdx_90F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20220101__20220630_zcflp9enKZCe" title="Options exercisable weighted average contractual term"><span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20210101__20210630_zgNrAfxxUjaj" title="Options outstanding weighted average contractual term"><span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20210101__20210630_zzvQU8s6kHwk" title="Options exercisable weighted average contractual term">7</span></span></span></span> years. The aggregate intrinsic value of the options outstanding
and exercisable at June 30, 2022 and 2021 was $<span id="xdx_90D_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue_iI_pp0p0_c20220630_zT3xerh2YoR4" title="Exercisable and outstanding Intriinsic value">56,700</span> and $<span id="xdx_90A_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue_iI_pp0p0_c20210630_zUh41jsECfy4" title="Exercisable and outstanding intriinsic value">557,707</span>, respectively. The total intrinsic value of options exercised and redeemed
during the six months ended June 30, 2022 and 2021 was $<span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_pp0p0_c20220101__20220630_zyoY9fOVyOfj" title="Intriinsic value">141,272</span> and $<span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_pp0p0_c20210101__20210630_zgZ31qTfziZ" title="Intriinsic value">27,315</span>, respectively. For the three months ended June 30, 2022 and 2021,
the Company received payments related to the exercise of options in the amount of $<span id="xdx_90A_eus-gaap--ProceedsFromStockOptionsExercised_pp0p0_c20220401__20220630_z4AXxhkgin52" title="Proceeds from stock options exrercised">4,750</span> and $<span id="xdx_90A_eus-gaap--ProceedsFromStockOptionsExercised_pp0p0_c20210401__20210630_zFigMmoFldLd" title="Proceeds from stock options exrercised">2,450</span>, respectively. The aggregate intrinsic
value is calculated as the difference between the exercise price of the underlying options and the fair value of the Company&#8217;s
common stock for those stock options that have an exercise price lower than the fair value of the Company&#8217;s common stock. Options
with an exercise price above the fair value of the Company&#8217;s common stock are considered to have no intrinsic value.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>2017
Equity Incentive Plan</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Through
June 30, 2022, <span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_c20220630__us-gaap--PlanNameAxis__custom--TwoThousandAndSeventeenEquityIncentivePlanMember__srt--TitleOfIndividualAxis__custom--ChiefExecutiveOfficerOneMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_ztLcYByB3O97">224,133</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">,
<span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_c20220630__us-gaap--PlanNameAxis__custom--TwoThousandAndSeventeenEquityIncentivePlanMember__srt--TitleOfIndividualAxis__custom--ChiefExecutiveOfficerTwoMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_z5EQoZEGg3a5">288,889</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">,
and <span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_c20220630__us-gaap--PlanNameAxis__custom--TwoThousandAndSeventeenEquityIncentivePlanMember__srt--TitleOfIndividualAxis__srt--ChiefOperatingOfficerMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zgUjcLRtptUl" title="Stock issued during period shares based compensation authorized, shares">168,090
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">restricted stock awards and <span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20220101__20220630__us-gaap--PlanNameAxis__custom--TwoThousandAndSeventeenEquityIncentivePlanMember__srt--TitleOfIndividualAxis__custom--ChiefExecutiveOfficerOneMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zQh0gQvhEDZ1">14,057
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">and <span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20220101__20220630__us-gaap--PlanNameAxis__custom--TwoThousandAndSeventeenEquityIncentivePlanMember__srt--TitleOfIndividualAxis__srt--ChiefOperatingOfficerMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_z7LrwEQjh0k9" title="Stock issued during period shares restricted stock, shares">10,543
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">restricted shares have been granted under the
Equity Plan to the Company&#8217;s Co-CEO&#8217;s and COO, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>&#160;</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Common
stock activity</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
April 11, 2022, the Company issued Mr. Givens a signing bonus of <span id="xdx_908_ecustom--StockIssuedDuringPeriodsharesForSigningBonus_c20220410__20220411__srt--TitleOfIndividualAxis__custom--Mr.GivensMember_zZiBU7rCBKp" title="Stock issued during period for signing bonus, shares">64,815</span> shares of common stock, valued at $<span id="xdx_903_eus-gaap--SharesIssuedPricePerShare_iI_c20220411__srt--TitleOfIndividualAxis__custom--Mr.GivensMember_zTMbgJhLBqF5" title="Shares issued price per shares">5.40</span> per share for a total value of $<span id="xdx_909_eus-gaap--IssuanceOfStockAndWarrantsForServicesOrClaims_pp2p0_c20220410__20220411__srt--TitleOfIndividualAxis__custom--Mr.GivensMember_zNHhJR5bFnf1" title="Stock issued for service">350,001</span>, which are restricted from transfer until
the earlier of: i) 12 months of employment having lapsed or ii) the Company terminating employment with Mr. Givens without cause.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Mr.
Givens was also granted <span id="xdx_90D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_pid_c20220410__20220411__us-gaap--PlanNameAxis__custom--EquityIncentivePlanMember__srt--TitleOfIndividualAxis__custom--Mr.GivensMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z8qt9Tu44Pv5" title="Number of shares granted">288,889</span> performance-based restricted stock units <span style="background-color: white">pursuant to VirTra&#8217;s
2017 Equity Incentive Plan. </span><span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights_pid_c20220410__20220411__us-gaap--PlanNameAxis__custom--EquityIncentivePlanMember__srt--TitleOfIndividualAxis__custom--Mr.GivensMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z2G3dDPMKw41" title="Restricted stock units vesting, description">Beginning on the last business day of August 2022, a tranche of restricted stock units, having an
approximate value of $40,000, based on current grant day prices, may vest if the Company has achieved net profit for the twelve months
ending June 30, 2022 of at least $2,500,000. For every $500,000 earned in excess of $2,500,000 another tranche will vest. If the maximum
net profit of $7,000,000 is achieved, ten tranches would vest. Similarly, on the last business day of August 2023, a tranche of restricted
stock units may vest if the Company has achieved a net profit of at least $3,000,000, with the potential to have additional tranches
vest up to a maximum of $9,000,000 in net profit. This vesting arrangement continues with the last business day of August 2024, with
the minimum net profit threshold being $3,500,000 and the maximum net profit being $11,000,000.</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
vesting schedule notwithstanding, the Compensation Committee shall have the discretion to declare the vesting of any number of restricted
stock units should the Company experience unusual results of operations, such as falling below the net profit threshold one year and
exceeding the maximum net profit the following year, so long as the total number of restricted stock units declared to be vested does
not exceed the amount awarded. Additionally, <span style="background-color: white">while a maximum net profit per year has been set for
allocation of the available shares at this time, it is very possible that the Company will exceed these levels during the next 3 years
and if such performance occurs, the Compensation Committee will meet to determine if additional compensation is in the best interests
of the Company at that time.</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
March 31, 2021, the Company entered into a Securities Purchase Agreement (the &#8220;Purchase Agreement&#8221;) with certain institutional
investors (the &#8220;Purchasers&#8221;), pursuant to which the Company agreed to sell to the Purchasers an aggregate of <span id="xdx_903_eus-gaap--SaleOfStockNumberOfSharesIssuedInTransaction_c20210331__20210331__us-gaap--TypeOfArrangementAxis__custom--SecuritiesPurchaseAgreementMember__srt--TitleOfIndividualAxis__custom--InstitutionalInvestorsMember__us-gaap--AwardTypeAxis__custom--RegisteredDirectorOfferingMember_z73TCJBHQ3E4" title="Number of shares sold">3,000,000</span> shares
(the &#8220;RDO Shares&#8221;) of the Company&#8217;s common stock, $<span id="xdx_903_eus-gaap--CommonStockParOrStatedValuePerShare_iI_c20210331__us-gaap--TypeOfArrangementAxis__custom--SecuritiesPurchaseAgreementMember__srt--TitleOfIndividualAxis__custom--InstitutionalInvestorsMember__us-gaap--AwardTypeAxis__custom--RegisteredDirectorOfferingMember_zjdlIVY64Kse" title="Common stock par value">0.0001</span> par value per share, at a price of $<span id="xdx_90B_eus-gaap--SaleOfStockPricePerShare_iI_c20210331__us-gaap--TypeOfArrangementAxis__custom--SecuritiesPurchaseAgreementMember__srt--TitleOfIndividualAxis__custom--InstitutionalInvestorsMember__us-gaap--AwardTypeAxis__custom--RegisteredDirectorOfferingMember_zZQUW32Weaia" title="Sale of stock, price per share">6.00</span> per share in a registered
director offering (the &#8220;Offering&#8221;). The RDO Shares were offered and sold by the Company pursuant to an effective shelf registration
statement on Form S-3 (File No. 333-238624), which was filed by the Company with the SEC on May 22, 2020 and subsequently declared effective
on June 2, 2020, and a related prospectus.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company also entered into a placement agent agreement (the &#8220;Placement Agency Agreement&#8221;) on March 31, 2021 with Roth Capital
Partners, LLC (&#8220;Roth&#8221;), pursuant to which Roth agreed to serve as placement agent for the issuance and sale of the RDO Shares.
The Company agreed to pay Roth an aggregate fee equal to <span id="xdx_90C_eus-gaap--SaleOfStockPercentageOfOwnershipAfterTransaction_pid_dp_uPure_c20210331__20210331__us-gaap--TypeOfArrangementAxis__custom--PlacementAgencyAgreementMember__dei--LegalEntityAxis__custom--RothCapitalPartnersLLCMember_zyt3HkW1a8hg" title="Sale of stock, percentage">6.5</span>% of the gross proceeds received by the Company from the sale of the securities
in the transaction. The Company also agreed to pay Roth a reimbursement for legal fees and expenses in an amount not to exceed $<span id="xdx_90A_ecustom--ReimbursementLegalFeesAndExpenses_pp0p0_c20210331__20210331__us-gaap--TypeOfArrangementAxis__custom--PlacementAgencyAgreementMember__dei--LegalEntityAxis__custom--RothCapitalPartnersLLCMember__srt--RangeAxis__srt--MaximumMember_zJpkQBYs6hf5" title="Reimbursement legal fees and expenses">35,000</span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Roth
acted as the lead placement agent in the Offering. Lake Street Capital Markets acted as co-placement agent for the Offering. Maxim Group
LLC acted as a financial advisor to the Company in connection with the Offering.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A
prospectus supplement and the accompanying prospectus relating to and describing the terms of the Offering, dated March 31, 2021, was
filed with the SEC on April 2, 2021.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
April 5, 2021, the Company closed the Offering. The total gross proceeds of the Offering were $<span id="xdx_90C_eus-gaap--ProceedsFromIssuanceInitialPublicOffering_pn5n6_c20210404__20210405__us-gaap--SubsidiarySaleOfStockAxis__custom--OfferingMember_zJpTrd1kj6c5" title="Proceeds from offering">18.0</span> million, before deducting the placement
agents&#8217; fees and other estimated Offering expenses which totalled $<span id="xdx_902_eus-gaap--OtherExpenses_pp0p0_c20210404__20210405__us-gaap--SubsidiarySaleOfStockAxis__custom--OfferingMember_zv2t3e2SEBQ1" title="other expenses">1,205,000</span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -URI https://asc.fasb.org/topic&amp;trid=2208762<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496171-112644<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496171-112644<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496189-112644<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496189-112644<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496171-112644<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496189-112644<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 16<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496180-112644<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126731327&amp;loc=SL126733271-114008<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648022790416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent Events<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_SubsequentEventsAbstract', window );"><strong>Subsequent Events [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">Subsequent Events</a></td>
<td class="text"><p id="xdx_805_eus-gaap--SubsequentEventsTextBlock_zDFUnHFy9TD5" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
11. <span id="xdx_82D_zzYvCsGFZOn7">Subsequent Events</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None.</span></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_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -URI https://asc.fasb.org/topic&amp;trid=2122774<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6842918&amp;loc=SL6314017-165662<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648018680640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Organization and Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_VTSI_OrganizationAndBusinessOperationsPolicyTextBlock', window );">Organization and Business Operations</a></td>
<td class="text"><p id="xdx_840_ecustom--OrganizationAndBusinessOperationsPolicyTextBlock_zJaEAkt6qR5f" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86C_zjfJDINFHYyk">Organization
and Business Operations</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">VirTra,
Inc. (the &#8220;Company,&#8221; &#8220;VirTra,&#8221; &#8220;we,&#8221; &#8220;us&#8221; or &#8220;our&#8221;), located in Chandler,
Arizona, is a global provider of judgmental use of force training simulators, firearms training simulators and driving simulators for
the law enforcement, military, educational and commercial markets. The Company&#8217;s patented technologies, software, and scenarios
provide intense training for de-escalation, judgmental use-of-force, marksmanship and related training that mimics real-world situations.
VirTra&#8217;s mission is to save and improve lives worldwide through practical and highly-effective virtual reality and simulator technology.
The Company sells its products worldwide through a direct sales force and international distribution partners. The original business
started in 1993 as Ferris Productions, Inc. In September 2001, Ferris Productions, Inc. merged with GameCom, Inc. to ultimately become
VirTra, Inc., a Nevada corporation.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
March 2020, a global pandemic was declared by the World Health Organization related to the rapidly growing outbreak of a novel strain
of coronavirus (COVID-19). The pandemic has significantly impacted the economic conditions in the U.S., accelerating during half of March
and April as federal, state and local governments react to the public health crisis, creating significant uncertainties in the U.S. economy.
On March 30, 2020, the Governor for the State of Arizona issued a stay-at-home order which expired on May 15, 2020, upon which Arizona
entered Phase I of reopening. The Company carefully reviewed all rules and regulations of the government orders and determined it met
the requirements of an essential business to remain open. The Company had the majority of its staff begin working remotely in mid-March,
with only essential personnel continue working at the manufacturing and production facilities and currently remains in Arizona&#8217;s
Phase I of reopening. This situation is rapidly changing and additional impacts to the business may arise that we are not aware of currently.
While the disruption is currently expected to be temporary, there is uncertainty around the duration. The ultimate impact of the pandemic
on the Company&#8217;s results of operations, financial position, liquidity or capital resources cannot be reasonably estimated at this
time. To date, the COVID-19 restrictions have resulted in reduced customer shipments and customer system installations. These recent
developments are expected to result in lower recognized revenue and possibly lower gross margin when they occur. To date, there have
been no order cancellations; rather, there have only been delays in when orders ship or installations occur and all delayed orders remain
in backlog. Any future impact cannot be reasonably estimated at this time. The Company is no longer investing in Certificates of Deposits
as a precautionary measure to increase its liquid cash position and preserve financial flexibility considering uncertainty in the U.S.
and global markets resulting from COVID-19. Additionally, the Company&#8217;s stock repurchase program was suspended as a result of interim
rulings for public-company recipients of a PPP loan under the CARES Act. The stock repurchase suspension remained in effect for the duration
of the outstanding PPP loan and continues to remain in effect even though the PPP loan has been forgiven and is no longer outstanding.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Russian-Ukraine conflict is a global concern. The Company does not have any significant direct exposure to Russia or Ukraine through
its operations, employee base, investments, or sanctions. We have no basis to evaluate the possible risks of this conflict.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>&#160;</i></b></span></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_BasisOfAccountingPolicyPolicyTextBlock', window );">Basis of Presentation</a></td>
<td class="text"><p id="xdx_84F_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_z7zy3Qnknwdi" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86A_zY97D7zYINCh">Basis
of Presentation</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
unaudited financial statements included herein have been prepared by us without audit pursuant to the rules and regulations of the Securities
and Exchange Commission (&#8220;SEC&#8221;) and should be read in conjunction with our audited financial statements for the year ended
December 31, 2021 included in the Company&#8217;s Annual Report on Form 10-K for the fiscal year ended December 31, 2021 filed with the
SEC on August 2, 2022. Certain information and footnote disclosures normally included in financial statements prepared in accordance
with accounting principles generally accepted in the United States of America (&#8220;GAAP&#8221;) have been condensed or omitted as
permitted by the SEC, although we believe the disclosures that are made are adequate to make the information presented herein not misleading.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
accompanying unaudited financial statements reflect, in our opinion, all normal recurring adjustments necessary to present fairly our
financial position at June 30, 2022 and the results of our operations and cash flows for the periods presented. We derived the December
31, 2021 balance sheet data from audited financial statements; however, we did not include all disclosures required by GAAP.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Interim
results are subject to seasonal variations, and the results of operations for the six months ended June 30, 2022 are not necessarily
indicative of the results to be expected for the full year.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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 );">Use of Estimates</a></td>
<td class="text"><p id="xdx_842_eus-gaap--UseOfEstimates_zsgECnsdFsTf" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86E_zwbgXtZSp5U">Use
of Estimates</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
preparation of financial statements in conformity with GAAP requires management to make estimates that affect the reported amounts of
assets and liabilities and disclosure of contingent assets and liabilities as of the date of the financial statements and the reported
amounts of revenues and expenses during the reporting period. Actual results could differ significantly from those estimates. Significant
accounting estimates in these financial statements include valuation assumptions for share-based payments, allowance for doubtful accounts, inventory reserves, accrual for warranty reserves, the carrying value of long-lived assets and intangible assets,
income tax valuation allowances, and the allocation of the transaction price to the performance
obligations in our contracts with customers.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_RevenueRecognitionPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><p id="xdx_843_eus-gaap--RevenueRecognitionPolicyTextBlock_zecMYuNtlmYc" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86F_zNvuZaRv3bNh">Revenue
Recognition</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company adopted the Financial Accounting Standards Board&#8217;s (the &#8220;FASB&#8221;) Accounting Standards Codification (&#8220;ASC&#8221;)
606, Revenue from Contracts with Customer (Topic 606) (&#8220;ASC 606&#8221;) on January 1, 2018 and the Company elected to use the modified
retrospective transition method which requires application of ASC 606 to uncompleted contracts at the date of adoption. The adoption
of ASC 606 did not have a material impact on the financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Under
ASC 606, the Company must identify the contract with a customer, identify the performance obligations in the contract, determine the
transaction price, allocate the transaction price to the performance obligations in the contract, and recognize revenue when (or as)
the Company satisfies a performance obligation. Significant judgment is necessary when making these determinations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s primary sources of revenue are derived from simulator and accessories sales, training and installation, the sale of customizable
software and the sale of extended service-type warranties. The Company&#8217;s policy is to typically invoice upon completion of installation
and/or training until such time the performance obligations that have been satisfied are included in unbilled. Sales discounts are presented
in the financial statements as reductions in determining net revenues. Credit sales are recorded as current assets (accounts receivable
and unbilled revenue). Prepaid deposits received at the time of sale and extended warranties purchased are recorded as current and long-term
liabilities (deferred revenue) until earned. The following briefly summarizes the nature of our performance obligations and method of
revenue recognition:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Performance
    Obligation</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Method
    of Recognition</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Simulator
    and accessories</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Upon
    transfer of control</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Installation
    and training</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Upon
    completion or over the period of services being rendered</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Extended
    service-type warranty</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
    and recognized over the life of the extended warranty</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customized
    software and content</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Upon
    transfer of control or over the period services are performed depending on the terms of the contract</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customized
    content scenario</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
    performance obligation is transferred over time (input method using time and materials expanded)</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales-based
    royalty exchanged for license of intellectual property</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Recognized
    as the performance obligation is satisfied over time &#8211; which is as the sales occur.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company recognizes revenue upon transfer of control or upon completion of the services for the simulator and accessories; for the installation
and training and customized software performance obligations as the customer has the right and ability to direct the use of these products
and services and the customer obtains substantially all of the remaining benefit from these products and services at that time. Revenue
from certain customized content contracts may be recognized over the period the services are performed based on the terms of the contract.
For the sales-based royalty exchanged for license of intellectual property, the Company recognized revenue as the sales occur over time.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company recognizes revenue on a straight-line basis over the period of services being rendered for the extended service-type warranties
as these warranties represent a performance obligation to &#8220;stand ready to perform&#8221; over the duration of the warranties. As
such, the warranty service is performed continuously over the warranty period.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Each
contract states the transaction price. The contracts do not include variable consideration, significant financing components or noncash
consideration. The Company has elected to exclude sales and similar taxes from the measurement of the transaction price. The contract&#8217;s
transaction price is allocated to the performance obligations based upon their stand-alone selling prices. Discounts to the stand-alone
selling prices, if any, are allocated proportionately to each performance obligation.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_VTSI_DisaggregationOfRevenuePolicyTextBlock', window );">Disaggregation of Revenue</a></td>
<td class="text"><p id="xdx_844_ecustom--DisaggregationOfRevenuePolicyTextBlock_znjvUfNmfMI4" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86B_zLoKXFmdrnY3">Disaggregation
of Revenue</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_893_eus-gaap--DisaggregationOfRevenueTableTextBlock_zIsariXe6LBa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Under
ASC 606, disaggregated revenue from contracts with customers depicts the nature, amount, timing, and uncertainty of revenue and cash
flows affected by economic factors. The Company has evaluated revenues recognized and the following table illustrates the disaggregation
disclosure by customer&#8217;s location and performance obligation.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Disaggregation
of Revenue</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BB_zwYKlGyBElmj" style="display: none">Schedule of Disaggregation of Revenues</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"/></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="30" style="border-bottom: Black 1.5pt solid; text-align: center">Three Months ended June 30,</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center">2021</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Commercial</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Government</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">International</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Commercial</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Government</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">International</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 20%; text-align: left">Simulators and accessories</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98D_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zjTLCRducMRa" style="width: 6%; text-align: right" title="Simulators and accessories">3,521,100</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_984_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zZr8tM6oJHl4" style="width: 6%; text-align: right" title="Simulators and accessories">1,422,233</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_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zDplKq28jrT5" style="width: 6%; text-align: right" title="Simulators and accessories">1,737,301</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_98D_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630_zQNjko2WMMMb" style="width: 6%; text-align: right" title="Simulators and accessories">6,680,634</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_989_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zTskqGmCXhVf" style="width: 6%; text-align: right" title="Simulators and accessories">543,890</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_982_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_za7cQ7BifiU5" style="width: 6%; text-align: right" title="Simulators and accessories">3,503,592</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_989_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z5lkLIk5cFQb" style="width: 6%; text-align: right" title="Simulators and accessories">106,933</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_985_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630_zHzMLN19PPbf" style="width: 6%; text-align: right" title="Simulators and accessories">4,154,415</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Extended service-type warranties</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zuuysX2VShk9" style="text-align: right" title="Simulators and accessories">30,546</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zelWLOQWiiRh" style="text-align: right" title="Simulators and accessories">747,878</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zYk1KwnIugdd" style="text-align: right" title="Simulators and accessories">27,646</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630_z5wKq0pbWgi6" style="text-align: right" title="Simulators and accessories">806,070</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zIc028d26tl8" style="text-align: right" title="Simulators and accessories">25,547</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_z3aElAjiMXtd" style="text-align: right" title="Simulators and accessories">673,970</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zHqDsFFjpVyc" style="text-align: right" title="Simulators and accessories">28,965</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630_zgduGN9ZmCd" style="text-align: right" title="Simulators and accessories">728,482</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Customized software and content</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zdI6i28Rh5O8" style="text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0713">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zCz2lafgadC7" style="text-align: right" title="Simulators and accessories">60,392</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zGLvo0xQTMl7" style="text-align: right" title="Simulators and accessories">126,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20220401__20220630_zXfzFHoHIFM9" style="text-align: right" title="Simulators and accessories">186,392</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z0iDalua8uLa" style="text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0721">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zvFX1VPeTOjd" style="text-align: right" title="Simulators and accessories">146,543</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zsiWaPY5v6Gi" style="text-align: right" title="Simulators and accessories">21,170</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20210401__20210630_zVBIs15ofj93" style="text-align: right" title="Simulators and accessories">167,713</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Installation and training</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zgKfTnIq3u36" style="text-align: right" title="Simulators and accessories">35,343</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zdPGSKOV1vGf" style="text-align: right" title="Simulators and accessories">249,847</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z1cUfY8atsz7" style="text-align: right" title="Simulators and accessories">39,097</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630_zBSs0M93RJP1" style="text-align: right" title="Simulators and accessories">324,287</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zIrpbUVde8Df" style="text-align: right" title="Simulators and accessories">15,043</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zAUqLquwoxtd" style="text-align: right" title="Simulators and accessories">186,909</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zMxyglxfIHRg" style="text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0741">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630_z3fGubiltAs3" style="text-align: right" title="Simulators and accessories">201,952</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Licensing and royalties</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zotNvXeUFQF7" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0745">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98E_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zomPBQLTw6j4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0747">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z4aurUWgRHCi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0749">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630_zr7eT2vfgbwj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0751">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_981_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zYnyJqBz5Pt5" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories">2,630</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98F_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zkYzbb8XgAUb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0755">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zmVAkELxIaV" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0757">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630_zePUOV6b0ohe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories">2,630</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total Revenue</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z2L6068QwXO" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">3,586,989</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zzz72VsbaV8k" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">2,480,350</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zWCi49zG1NDf" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">1,930,044</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_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630_zlg1aTBCnXSj" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">7,997,383</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zIFDiraaYuV1" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">587,110</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_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zZYnIZqZEoWh" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">4,511,014</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zaPqjGEqAw8b" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">157,068</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_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630_zfn4sxTuNYM7" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">5,255,192</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="30" style="border-bottom: Black 1.5pt solid; text-align: center">Six Months ended June 30,</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center">2021</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Commercial</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Government</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">International</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Commercial</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Government</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">International</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 20%; text-align: left">Simulators and accessories</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98B_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zutlr6kBo8Z1" style="width: 6%; text-align: right" title="Simulators and accessories">5,101,292</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_981_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_z475SpeWhZFd" style="width: 6%; text-align: right" title="Simulators and accessories">4,646,791</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_98E_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zxEu68r5Jep3" style="width: 6%; text-align: right" title="Simulators and accessories">2,643,938</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_98A_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630_z5hypVzDZVe5" style="width: 6%; text-align: right" title="Simulators and accessories">12,392,021</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_981_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zgei3eb1GAG" style="width: 6%; text-align: right" title="Simulators and accessories">815,528</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_986_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zn8azzg22IW9" style="width: 6%; text-align: right" title="Simulators and accessories">5,181,515</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_985_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zUGcGiAdipgb" style="width: 6%; text-align: right" title="Simulators and accessories">1,184,118</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_98A_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630_zQuggBJhdxck" style="width: 6%; text-align: right" title="Simulators and accessories">7,181,161</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Extended service-type warranties</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zMjJlhBuv141" style="text-align: right" title="Simulators and accessories">62,033</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zDd8MhyfZY06" style="text-align: right" title="Simulators and accessories">1,478,238</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zYlEJ5URh8Z2" style="text-align: right" title="Simulators and accessories">45,308</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630_zk4r6R0YWXPk" style="text-align: right" title="Simulators and accessories">1,585,579</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zolGWkI0AOt5" style="text-align: right" title="Simulators and accessories">47,621</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zD72MtM2nKAb" style="text-align: right" title="Simulators and accessories">1,344,554</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zRRXx38FVA2d" style="text-align: right" title="Simulators and accessories">49,015</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630_zI3Ta6CYYRU3" style="text-align: right" title="Simulators and accessories">1,441,190</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Customized software and content</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zY3J3Akm8BB5" style="text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0809">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zGW4MAf4KTmd" style="text-align: right" title="Simulators and accessories">2,106</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zg2F2pjitR79" style="text-align: right" title="Simulators and accessories">209,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20220101__20220630_zWX4vYPCdTS1" style="text-align: right" title="Simulators and accessories">211,106</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zSik14E2ZTfj" style="text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0817">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zD85NlqDDEv" style="text-align: right" title="Simulators and accessories">613,956</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zc4eFFe1PpH1" style="text-align: right" title="Simulators and accessories">73,443</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20210101__20210630_zM8YkM2RRc19" style="text-align: right" title="Simulators and accessories">687,399</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Installation and training</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_ecustom--InstallationAndTraining_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zPpTgMygdpol" style="text-align: right" title="Simulators and accessories">47,208</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--InstallationAndTraining_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zXo6mkwmfYlc" style="text-align: right" title="Simulators and accessories">407,400</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_ecustom--InstallationAndTraining_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z3JhHEYLIwWj" style="text-align: right" title="Simulators and accessories">107,297</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--InstallationAndTraining_pp0p0_c20220101__20220630_zE0xkGoUysIf" style="text-align: right" title="Simulators and accessories">561,905</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zyAbWSRsUHvj" style="text-align: right" title="Simulators and accessories">49,864</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zfgBAZnLLkel" style="text-align: right" title="Simulators and accessories">306,707</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zccYWc3OQe74" style="text-align: right" title="Simulators and accessories">26,350</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630_zcX0nIxdNKR5" style="text-align: right" title="Simulators and accessories">382,921</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Licensing and royalties</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zOhEY11o8ACl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0841">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zBXVJxXIT4Lf" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0843">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zC9SSX857kK8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0845">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630_zWt9xiOYQ8Yh" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0847">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98B_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z3VU3q189QG1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories">4,430</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zZciaxILhVFa" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0851">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_986_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zIV1OekVlMZf" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0853">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630_zzJMtiIvFemi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories">4,430</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total Revenue</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_ztuBgPgUWdIg" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">5,210,533</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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zbfbVSGiRgVa" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">6,534,535</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_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zMVoctgeIBrb" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">3,005,543</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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630_zK57tbXuQmm8" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">14,750,611</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zGVrHlODfBn1" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">917,443</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zP9RwBZnU862" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">7,446,732</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zHkwmJCBl5W2" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">1,332,926</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630_zwmb9Sjl2Zl8" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">9,697,101</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the six months ended June 30, 2022, governmental customers comprised $<span id="xdx_900_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_zHsMRR8bUA41" title="Revenue">6,534,535</span>, or <span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_z9eEzLxsetL9" title="Concentration of credit risk">44</span>% of total net sales, commercial customers comprised
$<span id="xdx_90D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zQe9P6TYufUj" title="Revenue">5,210,533</span>, or <span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zeJy0PnWcet3" title="Concentration of credit risk">35</span>% of total net sales, and international customers comprised $<span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zoSRzBPprKg4" title="Revenue">3,005,543</span>, or <span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zx3z2eYeOdGg" title="Concentration of credit risk">20</span>% of total net sales. By comparison, for
the six months ended June 30, 2021, governmental customers comprised $<span id="xdx_90E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_z7yF9LMGFhta" title="Revenue">7,446,732</span>, or <span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_zCncbpAo498j" title="Concentration of credit risk">77</span>% of total net sales, commercial customers comprised
$<span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zzBsAXW2ojp4" title="Revenue">917,443</span>, or <span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zLTGLMrUpgUc" title="Concentration of credit risk">9</span>% of total net sales, and international customers comprised $<span id="xdx_905_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zJ3J6mqDZwuk" title="Revenue">1,332,926</span>, or <span id="xdx_90B_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_z3apCwOGySD4" title="Concentration of credit risk">14</span>% of total net sales.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_84E_eus-gaap--DepositContractsPolicy_zkb7GfFJdVg4" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86C_z1683k2aAiH2">Customer
Deposits</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customer
deposits consist of prepaid deposits received for equipment purchase orders and for Subscription Training Equipment Partnership (&#8220;STEP&#8221;)
operating agreements that expire annually. Customer deposits are considered a deferred liability until the completion of the customer&#8217;s
contract performance obligation. When revenue is recognized, the deposit is applied to customer&#8217;s receivable balance. Customer
deposits are recorded as a current liability under deferred revenue on the accompanying balance sheet and totalled $<span id="xdx_900_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pp0p0_c20220630__us-gaap--IncomeStatementLocationAxis__custom--DeferredRevenueMember_zuoXi6CG9398" title="Customer deposits, current">3,212,846</span> and $<span id="xdx_900_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pp0p0_c20211231__us-gaap--IncomeStatementLocationAxis__custom--DeferredRevenueMember_z4cc6PSeLhVf" title="Customer deposits, current">2,371,531</span>
at June 30, 2022 and December 31, 2021, respectively. Changes in deferred revenue amounts related to customer deposits will fluctuate
from year to year based upon the mix of customers required to prepay deposits under the Company&#8217;s credit policy.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_84E_eus-gaap--StandardProductWarrantyPolicy_zKLWBsZQxJF1" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86B_zG59nK5Y0crj">Warranty</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company warranties its products from manufacturing defects on a limited basis for a period of one year after purchase, but also sells
separately priced extended service-type warranties for periods of up to four years after the expiration of the standard one-year warranty.
During the term of the initial one-year warranty, if the device fails to operate properly from defects in materials and workmanship,
the Company will fix or replace the defective product. Deferred revenue for separately priced extended warranties one year or less totalled
$<span id="xdx_909_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220630__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearOrLessMember_zVsqqR4HWjw6" title="Extended warranties">1,160,327</span> and $<span id="xdx_90A_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearOrLessMember_z3okiH8tPzM9" title="Extended warranties">1,764,034</span> as of June 30, 2022 and December 31, 2021, respectively. Deferred revenue for separately priced extended warranties
longer than one year totalled $<span id="xdx_900_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220630__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--LongerThanOneYearMember_z1RS7AiSGdPg" title="Extended warranties">2,311,052</span> and $<span id="xdx_90F_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--LongerThanOneYearMember_zLtwnMLeY9yf" title="Extended warranties">1,815,871</span> as of June 30, 2022 and December 31, 2021, respectively. The accrual for the one-year
manufacturer&#8217;s warranty liability totalled $<span id="xdx_902_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220630__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearMember_zTq78dY2oQZc" title="Extended warranties">434,000</span> and $<span id="xdx_90C_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearMember_zaNPppemWQe6" title="Extended warranties">384,000</span> as of June 30, 2022 and December 31, 2021, respectively. During
the six months ended June 30, 2022 and 2021, the Company recognized revenue of $<span id="xdx_903_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pp0p0_c20220101__20220630_zyFo4EpVIKgc" title="Revenue recognized">916,069</span> and $<span id="xdx_90D_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pp0p0_c20210101__20210630_zqMhLoylPff8" title="Revenue recognized">682,842</span>, respectively, related to the
extended service-type warranties that was amortized from the deferred revenue balance at the beginning of each period. Changes in deferred
revenue amounts related to extended service-type warranties will fluctuate from year to year based upon the average remaining life of
the warranties at the beginning of the period and new extended service-type warranties sold during the period.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_843_eus-gaap--ConcentrationRiskCreditRisk_z2YPoWn779fk" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_863_zBhUqr30Edfk">Concentration
of Credit Risk and Major Customers and Suppliers</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Financial
instruments that potentially subject the Company to concentrations of credit risk consist of cash and cash equivalents, certificates
of deposit, accounts receivable and notes receivable.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s cash, cash equivalents and certificates of deposit are maintained with financial institutions with high credit standings
and are FDIC insured deposits. The FDIC insures deposits according to the ownership category in which the funds are insured and how the
accounts are titled. The standard deposit insurance coverage limit is $<span id="xdx_906_eus-gaap--CashFDICInsuredAmount_iI_pp0p0_c20220630_zuw1nl4UuIV3" title="FDIC insured amount">250,000</span> per depositor, per FDIC-insured bank, per ownership category.
The Company had uninsured cash and cash equivalents of $<span id="xdx_90D_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20220630_zspbxBje0Xz2" title="Uninsured cash and cash equivalents">14,515,248</span> and $<span id="xdx_90F_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20211231_zGRz5zM9FOwf" title="Uninsured cash and cash equivalents">19,207,786</span> as of June 30, 2022 and December 31, 2021, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Most
sales are to governments that are typically made on credit and the Company generally does not require collateral. Management performs
ongoing credit evaluations of its customers&#8217; financial condition and maintains an allowance for estimated losses. Historically,
the Company has experienced minimal charges relative to doubtful accounts.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Historically,
the Company primarily sells its products to United States federal and state agencies. For the six months ended June 30, 2022, no single
customer comprised more than <span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerProductAndServiceBenchmarkMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--NoCommercialCustomerMember_zhil1NbJhYub" title="Concentration of credit risk">10</span>% of total net sales. By comparison, for the six months ended June 30, 2021, one federal agency comprised
<span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerProductAndServiceBenchmarkMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__custom--OneFederalAgencyMember_zl7a484Bqmw1" title="Concentration of credit risk">10</span>% of total net sales.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2022, one commercial customer comprised <span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__srt--StatementGeographicalAxis__custom--OneStateAgencyMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--OneCommercialCustomerMember_zm9rSHOq3Gz5" title="Concentration of credit risk">13.7</span>% of total accounts receivable. By comparison, as of December 31, 2021, the Company
did not have any customer that accounted for more than <span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--StatementGeographicalAxis__custom--OneStateAgencyMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zZOeBhqTn0J4" title="Concentration of credit risk">10</span>% of total accounts receivable.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>&#160;</i></b></span></p>

<p id="xdx_843_eus-gaap--EarningsPerSharePolicyTextBlock_zXIBLZwPDL6k" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_861_zewpF6jmD1Jl">Net
Income per Common Share</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89E_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zkF1xMUcl9v6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
net income per common share is computed by dividing net income by the weighted average of common shares outstanding. Diluted net income
per share reflects the potential dilution, using the treasury stock method, that would occur if outstanding stock options and warrants
were exercised. Earnings per share computations are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B3_zRinQ8eaXwC2">Schedule
of Earnings Per Share</span></span></p>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"/></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_49E_20220401__20220630_zKWHJd95PtXf" 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_493_20210401__20210630_zT9dG7G2vhp7" 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_496_20220101__20220630_zxxm8uHft6Nf" 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_49C_20210101__20210630_zwf4tZrluuJf" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center">Three Months Ended June 30,</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center">Six Months Ended June 30,</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2021</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2021</td><td style="padding-bottom: 1.5pt">&#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><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_402_eus-gaap--NetIncomeLoss_zhufJXYP7J0i" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 44%; text-align: left">Net Income</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">787,374</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">529,359</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,364,448</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,184,522</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_zDB0s6EhixJ5" style="vertical-align: bottom; background-color: White">
    <td>Weighted average common stock outstanding</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,866,775</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,644,363</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,837,186</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">9,209,808</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--IncrementalCommonSharesAttributableToStockOptions_zVpGDN1sUnZj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Incremental shares from stock options</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">25,527</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">48,875</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">30,481</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(299</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_z4I4U3aNLMx3" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Weighted average common stock outstanding diluted</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">10,892,302</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">10,693,238</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">10,867,667</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">9,209,509</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income per common share and common equivalent shares</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_40F_eus-gaap--EarningsPerShareBasic_z0xkHrRwkDna" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Basic</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.07</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.05</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.13</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.13</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--EarningsPerShareDiluted_ze3Bo7JeoL02" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Diluted</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.07</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.05</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.13</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.13</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A7_z4sedqiGILw5" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_DepositContractsPolicy', window );">Customer Deposits</a></td>
<td class="text"><p id="xdx_84E_eus-gaap--DepositContractsPolicy_zkb7GfFJdVg4" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86C_z1683k2aAiH2">Customer
Deposits</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customer
deposits consist of prepaid deposits received for equipment purchase orders and for Subscription Training Equipment Partnership (&#8220;STEP&#8221;)
operating agreements that expire annually. Customer deposits are considered a deferred liability until the completion of the customer&#8217;s
contract performance obligation. When revenue is recognized, the deposit is applied to customer&#8217;s receivable balance. Customer
deposits are recorded as a current liability under deferred revenue on the accompanying balance sheet and totalled $<span id="xdx_900_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pp0p0_c20220630__us-gaap--IncomeStatementLocationAxis__custom--DeferredRevenueMember_zuoXi6CG9398" title="Customer deposits, current">3,212,846</span> and $<span id="xdx_900_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pp0p0_c20211231__us-gaap--IncomeStatementLocationAxis__custom--DeferredRevenueMember_z4cc6PSeLhVf" title="Customer deposits, current">2,371,531</span>
at June 30, 2022 and December 31, 2021, respectively. Changes in deferred revenue amounts related to customer deposits will fluctuate
from year to year based upon the mix of customers required to prepay deposits under the Company&#8217;s credit policy.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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 );">Warranty</a></td>
<td class="text"><p id="xdx_84E_eus-gaap--StandardProductWarrantyPolicy_zKLWBsZQxJF1" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86B_zG59nK5Y0crj">Warranty</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company warranties its products from manufacturing defects on a limited basis for a period of one year after purchase, but also sells
separately priced extended service-type warranties for periods of up to four years after the expiration of the standard one-year warranty.
During the term of the initial one-year warranty, if the device fails to operate properly from defects in materials and workmanship,
the Company will fix or replace the defective product. Deferred revenue for separately priced extended warranties one year or less totalled
$<span id="xdx_909_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220630__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearOrLessMember_zVsqqR4HWjw6" title="Extended warranties">1,160,327</span> and $<span id="xdx_90A_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearOrLessMember_z3okiH8tPzM9" title="Extended warranties">1,764,034</span> as of June 30, 2022 and December 31, 2021, respectively. Deferred revenue for separately priced extended warranties
longer than one year totalled $<span id="xdx_900_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220630__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--LongerThanOneYearMember_z1RS7AiSGdPg" title="Extended warranties">2,311,052</span> and $<span id="xdx_90F_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--LongerThanOneYearMember_zLtwnMLeY9yf" title="Extended warranties">1,815,871</span> as of June 30, 2022 and December 31, 2021, respectively. The accrual for the one-year
manufacturer&#8217;s warranty liability totalled $<span id="xdx_902_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220630__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearMember_zTq78dY2oQZc" title="Extended warranties">434,000</span> and $<span id="xdx_90C_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearMember_zaNPppemWQe6" title="Extended warranties">384,000</span> as of June 30, 2022 and December 31, 2021, respectively. During
the six months ended June 30, 2022 and 2021, the Company recognized revenue of $<span id="xdx_903_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pp0p0_c20220101__20220630_zyFo4EpVIKgc" title="Revenue recognized">916,069</span> and $<span id="xdx_90D_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pp0p0_c20210101__20210630_zqMhLoylPff8" title="Revenue recognized">682,842</span>, respectively, related to the
extended service-type warranties that was amortized from the deferred revenue balance at the beginning of each period. Changes in deferred
revenue amounts related to extended service-type warranties will fluctuate from year to year based upon the average remaining life of
the warranties at the beginning of the period and new extended service-type warranties sold during the period.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_ConcentrationRiskCreditRisk', window );">Concentration of Credit Risk and Major Customers and Suppliers</a></td>
<td class="text"><p id="xdx_843_eus-gaap--ConcentrationRiskCreditRisk_z2YPoWn779fk" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_863_zBhUqr30Edfk">Concentration
of Credit Risk and Major Customers and Suppliers</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Financial
instruments that potentially subject the Company to concentrations of credit risk consist of cash and cash equivalents, certificates
of deposit, accounts receivable and notes receivable.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s cash, cash equivalents and certificates of deposit are maintained with financial institutions with high credit standings
and are FDIC insured deposits. The FDIC insures deposits according to the ownership category in which the funds are insured and how the
accounts are titled. The standard deposit insurance coverage limit is $<span id="xdx_906_eus-gaap--CashFDICInsuredAmount_iI_pp0p0_c20220630_zuw1nl4UuIV3" title="FDIC insured amount">250,000</span> per depositor, per FDIC-insured bank, per ownership category.
The Company had uninsured cash and cash equivalents of $<span id="xdx_90D_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20220630_zspbxBje0Xz2" title="Uninsured cash and cash equivalents">14,515,248</span> and $<span id="xdx_90F_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20211231_zGRz5zM9FOwf" title="Uninsured cash and cash equivalents">19,207,786</span> as of June 30, 2022 and December 31, 2021, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Most
sales are to governments that are typically made on credit and the Company generally does not require collateral. Management performs
ongoing credit evaluations of its customers&#8217; financial condition and maintains an allowance for estimated losses. Historically,
the Company has experienced minimal charges relative to doubtful accounts.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Historically,
the Company primarily sells its products to United States federal and state agencies. For the six months ended June 30, 2022, no single
customer comprised more than <span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerProductAndServiceBenchmarkMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--NoCommercialCustomerMember_zhil1NbJhYub" title="Concentration of credit risk">10</span>% of total net sales. By comparison, for the six months ended June 30, 2021, one federal agency comprised
<span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerProductAndServiceBenchmarkMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__custom--OneFederalAgencyMember_zl7a484Bqmw1" title="Concentration of credit risk">10</span>% of total net sales.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2022, one commercial customer comprised <span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__srt--StatementGeographicalAxis__custom--OneStateAgencyMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--OneCommercialCustomerMember_zm9rSHOq3Gz5" title="Concentration of credit risk">13.7</span>% of total accounts receivable. By comparison, as of December 31, 2021, the Company
did not have any customer that accounted for more than <span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--StatementGeographicalAxis__custom--OneStateAgencyMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zZOeBhqTn0J4" title="Concentration of credit risk">10</span>% of total accounts receivable.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>&#160;</i></b></span></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 );">Net Income per Common Share</a></td>
<td class="text"><p id="xdx_843_eus-gaap--EarningsPerSharePolicyTextBlock_zXIBLZwPDL6k" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_861_zewpF6jmD1Jl">Net
Income per Common Share</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89E_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zkF1xMUcl9v6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
net income per common share is computed by dividing net income by the weighted average of common shares outstanding. Diluted net income
per share reflects the potential dilution, using the treasury stock method, that would occur if outstanding stock options and warrants
were exercised. Earnings per share computations are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B3_zRinQ8eaXwC2">Schedule
of Earnings Per Share</span></span></p>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"/></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_49E_20220401__20220630_zKWHJd95PtXf" 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_493_20210401__20210630_zT9dG7G2vhp7" 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_496_20220101__20220630_zxxm8uHft6Nf" 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_49C_20210101__20210630_zwf4tZrluuJf" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center">Three Months Ended June 30,</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center">Six Months Ended June 30,</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2021</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2021</td><td style="padding-bottom: 1.5pt">&#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><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_402_eus-gaap--NetIncomeLoss_zhufJXYP7J0i" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 44%; text-align: left">Net Income</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">787,374</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">529,359</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,364,448</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,184,522</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_zDB0s6EhixJ5" style="vertical-align: bottom; background-color: White">
    <td>Weighted average common stock outstanding</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,866,775</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,644,363</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,837,186</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">9,209,808</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--IncrementalCommonSharesAttributableToStockOptions_zVpGDN1sUnZj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Incremental shares from stock options</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">25,527</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">48,875</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">30,481</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(299</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_z4I4U3aNLMx3" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Weighted average common stock outstanding diluted</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">10,892,302</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">10,693,238</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">10,867,667</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">9,209,509</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income per common share and common equivalent shares</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_40F_eus-gaap--EarningsPerShareBasic_z0xkHrRwkDna" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Basic</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.07</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.05</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.13</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.13</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--EarningsPerShareDiluted_ze3Bo7JeoL02" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Diluted</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.07</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.05</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.13</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.13</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_VTSI_DisaggregationOfRevenuePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disaggregation Of Revenue [Policy Text Block]</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;">VTSI_DisaggregationOfRevenuePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>VTSI_</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_VTSI_OrganizationAndBusinessOperationsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Organization And Business Operations [Policy Text Block]</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;">VTSI_OrganizationAndBusinessOperationsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>VTSI_</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_BasisOfAccountingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfAccountingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 credit risk.</p></div>
<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941378&amp;loc=d3e61044-112788<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskCreditRisk</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepositContractsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 treatment of funds received from or paid to insureds, insurers and reinsurers on contracts for which the criteria for transferring or assuming insurance risk has not been satisfied by the insurer or reinsurer.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 825<br> -Section 05<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6487483&amp;loc=d3e32239-158577<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepositContractsPolicy</td>
</tr>
<tr>
<td style="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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18823-107790<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18823-107790<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6191-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6161-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6143-108592<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6061-108592<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6132-108592<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>29
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648022618464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Organization and Significant Accounting Policies (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_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_DisaggregationOfRevenueTableTextBlock', window );">Schedule of Earnings Per Share</a></td>
<td class="text"><p id="xdx_893_eus-gaap--DisaggregationOfRevenueTableTextBlock_zIsariXe6LBa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Under
ASC 606, disaggregated revenue from contracts with customers depicts the nature, amount, timing, and uncertainty of revenue and cash
flows affected by economic factors. The Company has evaluated revenues recognized and the following table illustrates the disaggregation
disclosure by customer&#8217;s location and performance obligation.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Disaggregation
of Revenue</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BB_zwYKlGyBElmj" style="display: none">Schedule of Disaggregation of Revenues</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"/></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="30" style="border-bottom: Black 1.5pt solid; text-align: center">Three Months ended June 30,</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center">2021</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Commercial</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Government</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">International</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Commercial</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Government</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">International</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 20%; text-align: left">Simulators and accessories</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98D_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zjTLCRducMRa" style="width: 6%; text-align: right" title="Simulators and accessories">3,521,100</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_984_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zZr8tM6oJHl4" style="width: 6%; text-align: right" title="Simulators and accessories">1,422,233</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_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zDplKq28jrT5" style="width: 6%; text-align: right" title="Simulators and accessories">1,737,301</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_98D_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630_zQNjko2WMMMb" style="width: 6%; text-align: right" title="Simulators and accessories">6,680,634</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_989_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zTskqGmCXhVf" style="width: 6%; text-align: right" title="Simulators and accessories">543,890</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_982_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_za7cQ7BifiU5" style="width: 6%; text-align: right" title="Simulators and accessories">3,503,592</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_989_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z5lkLIk5cFQb" style="width: 6%; text-align: right" title="Simulators and accessories">106,933</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_985_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630_zHzMLN19PPbf" style="width: 6%; text-align: right" title="Simulators and accessories">4,154,415</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Extended service-type warranties</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zuuysX2VShk9" style="text-align: right" title="Simulators and accessories">30,546</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zelWLOQWiiRh" style="text-align: right" title="Simulators and accessories">747,878</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zYk1KwnIugdd" style="text-align: right" title="Simulators and accessories">27,646</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630_z5wKq0pbWgi6" style="text-align: right" title="Simulators and accessories">806,070</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zIc028d26tl8" style="text-align: right" title="Simulators and accessories">25,547</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_z3aElAjiMXtd" style="text-align: right" title="Simulators and accessories">673,970</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zHqDsFFjpVyc" style="text-align: right" title="Simulators and accessories">28,965</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630_zgduGN9ZmCd" style="text-align: right" title="Simulators and accessories">728,482</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Customized software and content</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zdI6i28Rh5O8" style="text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0713">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zCz2lafgadC7" style="text-align: right" title="Simulators and accessories">60,392</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zGLvo0xQTMl7" style="text-align: right" title="Simulators and accessories">126,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20220401__20220630_zXfzFHoHIFM9" style="text-align: right" title="Simulators and accessories">186,392</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z0iDalua8uLa" style="text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0721">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zvFX1VPeTOjd" style="text-align: right" title="Simulators and accessories">146,543</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zsiWaPY5v6Gi" style="text-align: right" title="Simulators and accessories">21,170</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20210401__20210630_zVBIs15ofj93" style="text-align: right" title="Simulators and accessories">167,713</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Installation and training</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zgKfTnIq3u36" style="text-align: right" title="Simulators and accessories">35,343</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zdPGSKOV1vGf" style="text-align: right" title="Simulators and accessories">249,847</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z1cUfY8atsz7" style="text-align: right" title="Simulators and accessories">39,097</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630_zBSs0M93RJP1" style="text-align: right" title="Simulators and accessories">324,287</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zIrpbUVde8Df" style="text-align: right" title="Simulators and accessories">15,043</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zAUqLquwoxtd" style="text-align: right" title="Simulators and accessories">186,909</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zMxyglxfIHRg" style="text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0741">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630_z3fGubiltAs3" style="text-align: right" title="Simulators and accessories">201,952</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Licensing and royalties</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zotNvXeUFQF7" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0745">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98E_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zomPBQLTw6j4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0747">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z4aurUWgRHCi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0749">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630_zr7eT2vfgbwj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0751">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_981_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zYnyJqBz5Pt5" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories">2,630</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98F_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zkYzbb8XgAUb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0755">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zmVAkELxIaV" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0757">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630_zePUOV6b0ohe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories">2,630</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total Revenue</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z2L6068QwXO" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">3,586,989</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zzz72VsbaV8k" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">2,480,350</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zWCi49zG1NDf" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">1,930,044</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_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630_zlg1aTBCnXSj" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">7,997,383</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zIFDiraaYuV1" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">587,110</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_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zZYnIZqZEoWh" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">4,511,014</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zaPqjGEqAw8b" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">157,068</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_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630_zfn4sxTuNYM7" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">5,255,192</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="30" style="border-bottom: Black 1.5pt solid; text-align: center">Six Months ended June 30,</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center">2021</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Commercial</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Government</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">International</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Commercial</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Government</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">International</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 20%; text-align: left">Simulators and accessories</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98B_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zutlr6kBo8Z1" style="width: 6%; text-align: right" title="Simulators and accessories">5,101,292</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_981_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_z475SpeWhZFd" style="width: 6%; text-align: right" title="Simulators and accessories">4,646,791</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_98E_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zxEu68r5Jep3" style="width: 6%; text-align: right" title="Simulators and accessories">2,643,938</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_98A_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630_z5hypVzDZVe5" style="width: 6%; text-align: right" title="Simulators and accessories">12,392,021</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_981_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zgei3eb1GAG" style="width: 6%; text-align: right" title="Simulators and accessories">815,528</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_986_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zn8azzg22IW9" style="width: 6%; text-align: right" title="Simulators and accessories">5,181,515</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_985_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zUGcGiAdipgb" style="width: 6%; text-align: right" title="Simulators and accessories">1,184,118</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_98A_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630_zQuggBJhdxck" style="width: 6%; text-align: right" title="Simulators and accessories">7,181,161</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Extended service-type warranties</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zMjJlhBuv141" style="text-align: right" title="Simulators and accessories">62,033</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zDd8MhyfZY06" style="text-align: right" title="Simulators and accessories">1,478,238</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zYlEJ5URh8Z2" style="text-align: right" title="Simulators and accessories">45,308</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630_zk4r6R0YWXPk" style="text-align: right" title="Simulators and accessories">1,585,579</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zolGWkI0AOt5" style="text-align: right" title="Simulators and accessories">47,621</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zD72MtM2nKAb" style="text-align: right" title="Simulators and accessories">1,344,554</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zRRXx38FVA2d" style="text-align: right" title="Simulators and accessories">49,015</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630_zI3Ta6CYYRU3" style="text-align: right" title="Simulators and accessories">1,441,190</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Customized software and content</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zY3J3Akm8BB5" style="text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0809">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zGW4MAf4KTmd" style="text-align: right" title="Simulators and accessories">2,106</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zg2F2pjitR79" style="text-align: right" title="Simulators and accessories">209,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20220101__20220630_zWX4vYPCdTS1" style="text-align: right" title="Simulators and accessories">211,106</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zSik14E2ZTfj" style="text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0817">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zD85NlqDDEv" style="text-align: right" title="Simulators and accessories">613,956</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zc4eFFe1PpH1" style="text-align: right" title="Simulators and accessories">73,443</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20210101__20210630_zM8YkM2RRc19" style="text-align: right" title="Simulators and accessories">687,399</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Installation and training</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_ecustom--InstallationAndTraining_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zPpTgMygdpol" style="text-align: right" title="Simulators and accessories">47,208</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--InstallationAndTraining_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zXo6mkwmfYlc" style="text-align: right" title="Simulators and accessories">407,400</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_ecustom--InstallationAndTraining_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z3JhHEYLIwWj" style="text-align: right" title="Simulators and accessories">107,297</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--InstallationAndTraining_pp0p0_c20220101__20220630_zE0xkGoUysIf" style="text-align: right" title="Simulators and accessories">561,905</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zyAbWSRsUHvj" style="text-align: right" title="Simulators and accessories">49,864</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zfgBAZnLLkel" style="text-align: right" title="Simulators and accessories">306,707</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zccYWc3OQe74" style="text-align: right" title="Simulators and accessories">26,350</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630_zcX0nIxdNKR5" style="text-align: right" title="Simulators and accessories">382,921</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Licensing and royalties</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zOhEY11o8ACl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0841">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zBXVJxXIT4Lf" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0843">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zC9SSX857kK8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0845">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630_zWt9xiOYQ8Yh" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0847">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98B_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z3VU3q189QG1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories">4,430</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zZciaxILhVFa" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0851">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_986_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zIV1OekVlMZf" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"><span style="-sec-ix-hidden: xdx2ixbrl0853">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630_zzJMtiIvFemi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories">4,430</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total Revenue</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_ztuBgPgUWdIg" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">5,210,533</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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zbfbVSGiRgVa" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">6,534,535</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_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zMVoctgeIBrb" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">3,005,543</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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630_zK57tbXuQmm8" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">14,750,611</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zGVrHlODfBn1" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">917,443</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zP9RwBZnU862" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">7,446,732</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zHkwmJCBl5W2" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">1,332,926</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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630_zwmb9Sjl2Zl8" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories">9,697,101</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the six months ended June 30, 2022, governmental customers comprised $<span id="xdx_900_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_zHsMRR8bUA41" title="Revenue">6,534,535</span>, or <span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_z9eEzLxsetL9" title="Concentration of credit risk">44</span>% of total net sales, commercial customers comprised
$<span id="xdx_90D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zQe9P6TYufUj" title="Revenue">5,210,533</span>, or <span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zeJy0PnWcet3" title="Concentration of credit risk">35</span>% of total net sales, and international customers comprised $<span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zoSRzBPprKg4" title="Revenue">3,005,543</span>, or <span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zx3z2eYeOdGg" title="Concentration of credit risk">20</span>% of total net sales. By comparison, for
the six months ended June 30, 2021, governmental customers comprised $<span id="xdx_90E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_z7yF9LMGFhta" title="Revenue">7,446,732</span>, or <span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_zCncbpAo498j" title="Concentration of credit risk">77</span>% of total net sales, commercial customers comprised
$<span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zzBsAXW2ojp4" title="Revenue">917,443</span>, or <span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zLTGLMrUpgUc" title="Concentration of credit risk">9</span>% of total net sales, and international customers comprised $<span id="xdx_905_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zJ3J6mqDZwuk" title="Revenue">1,332,926</span>, or <span id="xdx_90B_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_z3apCwOGySD4" title="Concentration of credit risk">14</span>% of total net sales.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of Earnings Per Share</a></td>
<td class="text"><p id="xdx_89E_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zkF1xMUcl9v6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
net income per common share is computed by dividing net income by the weighted average of common shares outstanding. Diluted net income
per share reflects the potential dilution, using the treasury stock method, that would occur if outstanding stock options and warrants
were exercised. Earnings per share computations are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B3_zRinQ8eaXwC2">Schedule
of Earnings Per Share</span></span></p>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"/></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_49E_20220401__20220630_zKWHJd95PtXf" 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_493_20210401__20210630_zT9dG7G2vhp7" 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_496_20220101__20220630_zxxm8uHft6Nf" 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_49C_20210101__20210630_zwf4tZrluuJf" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center">Three Months Ended June 30,</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center">Six Months Ended June 30,</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2021</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2021</td><td style="padding-bottom: 1.5pt">&#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><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_402_eus-gaap--NetIncomeLoss_zhufJXYP7J0i" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 44%; text-align: left">Net Income</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">787,374</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">529,359</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,364,448</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,184,522</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_zDB0s6EhixJ5" style="vertical-align: bottom; background-color: White">
    <td>Weighted average common stock outstanding</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,866,775</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,644,363</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,837,186</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">9,209,808</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--IncrementalCommonSharesAttributableToStockOptions_zVpGDN1sUnZj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Incremental shares from stock options</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">25,527</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">48,875</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">30,481</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(299</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_z4I4U3aNLMx3" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Weighted average common stock outstanding diluted</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">10,892,302</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">10,693,238</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">10,867,667</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">9,209,509</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income per common share and common equivalent shares</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_40F_eus-gaap--EarningsPerShareBasic_z0xkHrRwkDna" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Basic</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.07</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.05</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.13</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.13</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--EarningsPerShareDiluted_ze3Bo7JeoL02" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Diluted</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.07</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.05</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.13</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.13</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_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>30
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648022660464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventory (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_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</a></td>
<td class="text"><p id="xdx_899_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zB2J1gv2r2Bg" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inventory
consisted of the following as of:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BD_zRNpytf4egKa" style="display: none">Schedule of Inventory</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_494_20220630_zxTJ8ciwSvli" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20211231_z3ceBRbUmkN6" style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt">&#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--InventoryWorkInProcessAndRawMaterials_iI_pp0p0_maINzu8Z_zrpcH0EmRsa4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Raw materials and work in process</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">9,134,217</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: 18%; text-align: right">5,229,636</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--InventoryValuationReserves_iNI_pdp0_di_msINzu8Z_z0BVIDuU5H5g" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Reserve</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(302,431</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(214,712</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,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_408_eus-gaap--InventoryNet_iTI_pp0p0_mtINzu8Z_z8qbygwOLZNd" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total inventory</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,831,786</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">5,014,924</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>31
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648022593040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and Equipment (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_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 );">Schedule of Property and Equipment</a></td>
<td class="text"><p id="xdx_892_eus-gaap--PropertyPlantAndEquipmentTextBlock_zB9eRWAk0Gle" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Property
and equipment consisted of the following as of:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BA_zB1N72eEEvCa" style="display: none">Schedule
of Property and Equipment</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: 0.25in">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20220630_zlmsQtDFxwai" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_499_20211231_z8ZaNOStQipa" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt">&#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_407_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zaL7n2iizDWe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 56%">Land</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">1,778,987</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: 18%; text-align: right">1,778,987</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_z6lBL7YHCTF8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Building &amp; Building Improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">9,097,454</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">9,005,205</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zvXyXQiIeJOj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Computer equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,204,720</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,171,319</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--FurnitureAndOfficeEquipmentMember_zK1kJ0HJJSP8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Furniture and office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">272,806</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">262,814</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zzNGWuB9rC5d" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Machinery and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,739,881</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,970,007</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--STEPEquipmentMember_zCVuowBFGA45" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">STEP equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,790,268</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,496,252</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zq28fCbNOOD" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">334,934</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">334,934</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ConstructionInProgressMember_zT81lrLVYFa" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; text-align: left">Construction in Progress</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">533,194</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">7,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,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_40D_eus-gaap--PropertyPlantAndEquipmentGross_iI_maPPAENzO3V_zOxj9js9bOyk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Total property and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">17,752,244</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">16,026,518</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_di_msPPAENzO3V_zFNXY5r15js2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Less: Accumulated depreciation and amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(3,566,820</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(3,161,752</td><td style="padding-bottom: 1.5pt; text-align: left">)</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_404_eus-gaap--PropertyPlantAndEquipmentNet_iTI_mtPPAENzO3V_zNSnbxUUU3R5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">Property and equipment, net</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">14,185,424</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">12,864,766</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>32
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648022697040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Asset (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets 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_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock', window );">Schedule of Intangible Asset</a></td>
<td class="text"><p id="xdx_899_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zLWioVK0mBu2" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible
asset consisted of the following as of:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B8_z13DlyxMnHYf" style="display: none">Schedule
of Intangible Asset</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20220630_zZ4LjJmhprcf" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_490_20211231_zbcvlLJcCtNh" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_hus-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zerLgzfmIZ5c" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 56%">Patents</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">160,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: 18%; text-align: right">160,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_hus-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--CapitalizedMediaContentMember_zXMja7xxBSnl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Capitalized media content</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">417,240</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">331,228</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_hus-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--AcquiredLeaseIntangibleAssetsMember_z1ldbB4Ky38a" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Acquired lease intangible assets</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">83,963</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">83,963</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_maIANEGzWG1_zSUv3dTBe40d" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Total intangible assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">661,203</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">575,191</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_di_msIANEGzWG1_zDO9ddd3Mzfd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Less accumulated amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(81,240</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(40,112</td><td style="padding-bottom: 1.5pt; text-align: left">)</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_402_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iTI_mtIANEGzWG1_zNzI27dx37Fd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">Intangible assets, net</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">579,963</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">535,079</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_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 goodwill and intangible assets, which may be broken down by segment or major class.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648027174336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_VTSI_ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock', window );">Schedule of Balance Sheet Classification of Lease Assets and Liabilities</a></td>
<td class="text"><p id="xdx_890_ecustom--ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock_gL3SOBSCOLAAL-ES_zSpw8xuHja06" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
balance sheet classification of lease assets and liabilities as of June 30, 202 was as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B8_zsSdTHjIso8a" style="display: none">Schedule
of Balance Sheet Classification of Lease Assets and Liabilities</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: 0.25in">
  <tr style="display: none; vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&#160;</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td>
    <td colspan="2" id="xdx_493_20220101__20220630_z7akEdCC9O96" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">Balance Sheet Classification</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Assets</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--OperatingLeaseRightOfUseAsset_iS_zydlMZgZgfte" style="vertical-align: bottom; background-color: White">
    <td style="width: 80%; text-align: left">Operating lease right-of-use assets, December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">784,306</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_di_zSX16sbWUQy5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Amortization for the six months ended June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(160,658</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40D_eus-gaap--OperatingLeaseRightOfUseAsset_iE_zHZs42SQmBSc" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total operating lease right-of-use asset, June 30, 2022</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">623,648</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Liabilities</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>Current</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--OperatingLeaseLiabilityCurrent_iE_zW0VTsftDfQa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Operating lease liability, short-term</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">361,403</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Non-current</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_400_eus-gaap--OperatingLeaseLiabilityNoncurrent_iE_zg3ZQK5Fhx97" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Operating lease liability, long-term</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">321,217</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--OperatingLeaseLiability_iE_zzT98s9Blklj" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total lease liabilities</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">682,620</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
balance sheet classification of lease assets and liabilities as of December 31, 2021 was as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" id="xdx_302_134_zZqxjYwKQBul" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: 0.25in" summary="xdx: Disclosure - Schedule of Balance Sheet Classification of Lease Assets and Liabilities (Details)">
  <tr style="display: none; vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&#160;</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td>
    <td colspan="2" id="xdx_49D_20210101__20211231_zBj0F54iMxz" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">&#160;</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">Balance Sheet Classification</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">December 31, 2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Assets</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--OperatingLeaseRightOfUseAsset_iS_zyP6oH7Si4bc" style="vertical-align: bottom; background-color: White">
    <td style="width: 78%; text-align: left">Operating lease right-of-use assets, December 31, 2020</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">1,094,527</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--OperatingLeaseRightOfUseAsset_iS_z9UsPmARdCJ2" style="display: none; vertical-align: bottom; background-color: White">
    <td style="text-align: left">Operating lease right-of-use assets, beginning</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,094,527</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40D_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_di_zmdXr5L3g8Sk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Amortization for the year ended December 31, 2021</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(310,221</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_407_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_di_zhHNnFVmP4wd" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(310,221</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
<tr id="xdx_40D_eus-gaap--OperatingLeaseRightOfUseAsset_iE_z0hD40NH2OUk" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total operating lease right-of-use asset, December 31, 2021</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">784,306</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--OperatingLeaseRightOfUseAsset_iE_zwHb9yHgfyl2" style="display: none; vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total operating lease right-of-use asset, ending</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">784,306</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Liabilities</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>Current</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--OperatingLeaseLiabilityCurrent_iE_zphwXuFHdG94" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Operating lease liability, short-term</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">347,772</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Non-current</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_400_eus-gaap--OperatingLeaseLiabilityNoncurrent_iE_zq2rwg9USyy8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; padding-left: 10pt; text-align: left">Operating lease liability, long-term</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">505,383</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--OperatingLeaseLiability_iE_zfzRN2P9dxv" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total lease liabilities</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">853,155</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span id="xdx_C02_gL3LOLLMTTB-RT_zRM2HuIiFmY3">&#160;</span><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Schedule of Future Minimum Lease Payments</a></td>
<td class="text"><p id="xdx_898_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_gL3LOLLMTTB-RT_zj390e7mE7Th" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Future
minimum lease payments as of June 30, 2022 under non-cancellable operating leases are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B3_zhOke67QKMA6" style="display: none">Schedule
of Future Minimum Lease Payments</span>&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 60%; margin-right: auto">
  <tr style="display: none; vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_493_20220630_zCnvSIYEpns7" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_402_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maLOLLPzpK3_z1D442UTwlhk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">190,941</td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr id="xdx_40A_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLOLLPzpK3_zZycEDpmeya" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">390,562</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maLOLLPzpK3_zCnE4tAmZil9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">131,152</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></tr>
  <tr id="xdx_402_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPzpK3_z5k88sBD3BN5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Total lease payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">712,655</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zABWwG5o4OO5" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; text-align: left">Less: imputed interest</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(30,035</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_401_eus-gaap--OperatingLeaseLiability_iI_zDLXMVJ1Sywl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">Operating lease liability</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">682,620</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

&#160;<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Future
minimum lease payments as of December 31, 2021 under non-cancellable operating leases are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" id="xdx_30B_134_zFRL7ES6zt3c" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 60%; margin-right: auto" summary="xdx: Disclosure - Schedule of Future Minimum Lease Payments (Details)">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_49E_20211231_zN0RF4vqNoO" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maLOLLPz7cP_zeUVE5VzRHD5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">379,097</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLOLLPz7cP_zLUgcctrvKBb" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">390,562</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maLOLLPz7cP_z31o3qBm7Vb7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">131,152</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></tr>
  <tr id="xdx_40A_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPz7cP_zNC2O9r08bJ" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Total lease payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">900,811</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zyR4wW2XYPWi" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; text-align: left">Less: imputed interest</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(47,656</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40F_eus-gaap--OperatingLeaseLiability_iI_zdHxl8ilqzcd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">Operating lease liability</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">853,155</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_VTSI_ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule Of Balance Sheet Classification Of Lease Assets And Liabilities [Table Text Block]</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;">VTSI_ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>VTSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648016685328">
<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">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_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 );">Schedule of Accrued Compensation and Related Costs</a></td>
<td class="text"><p id="xdx_891_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_z4c8LJD2jPn" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accrued
compensation and related costs consisted of the following as of:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B7_zHsu8QgZJx11" style="display: none">Schedule
of Accrued Compensation and Related Costs</span>&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20220630_z4Ii5v3mWZLj" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49F_20211231_zYiUJ3djfbyl" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt">&#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_403_eus-gaap--AccruedSalariesCurrent_iI_pp0p0_maERLCzLng_zOTnDQXBE8I5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 56%; text-align: left">Salaries and wages payable</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">365,537</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: 18%; text-align: right">422,562</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AccruedEmployeeBenefitsCurrent_iI_pp0p0_maERLCzLng_z2rRkvF8NDw2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Employee benefits payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1136">-</span></td><td style="text-align: left"/><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">16,523</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--AccruedVacationCurrent_iI_pp0p0_maERLCzLng_zvv0gIBqAmDj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Accrued paid time off (PTO)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">574,185</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">483,311</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--DeferredCompensationCashBasedArrangementsLiabilityCurrent_iI_pp0p0_maERLCzLng_zf4GjYVIP5We" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; text-align: left">Profit sharing payable</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">289,682</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">139,682</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--EmployeeRelatedLiabilitiesCurrent_iTI_pp0p0_mtERLCzLng_zqscP8nIUd0l" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">Total accrued compensation and related costs</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,229,404</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,062,078</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_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock', window );">Schedule of Accrued Expenses and Other Current Liabilities</a></td>
<td class="text"><p id="xdx_89A_eus-gaap--AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock_zzDUsTV7Uaz8" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accrued
expenses and other current liabilities consisted of the following as of:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B4_zGkUjQ2nxE8l" style="display: none">Schedule
of Accrued Expenses and Other Current Liabilities</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 75%; margin-left: 0.25in">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_499_20220630_zUrpuPRP09Nh" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20211231_zEFuU0K3R2te" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#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 id="xdx_408_eus-gaap--ProductWarrantyAccrualClassifiedCurrent_iI_pp0p0_maAPAOAzeBe_maAPAOAzNHf_z60NZYFJ10if" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 56%; text-align: left">Manufacturer&#8217;s warranties</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">434,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: 18%; text-align: right">384,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--TaxesPayableCurrent_iI_pp0p0_maAPAOAzNHf_zOcUay1xnF8i" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Taxes payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">222,466</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">113,921</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--OtherBorrowings_iI_pp0p0_maAPAOAzNHf_zMan1lPb1JU2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Miscellaneous payable</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">613,620</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">493,823</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--AccountsPayableAndOtherAccruedLiabilitiesCurrent_iTI_pp0p0_mtAPAOAzNHf_zVNegCwKPLH2" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Total accrued expenses and other current liabilities</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,270,086</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">991,744</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_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, accrued expenses, and other liabilities that are classified as current 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock</td>
</tr>
<tr>
<td style="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>
<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>35
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648022780624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note Payable (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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_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_ScheduleOfDebtTableTextBlock', window );">Schedule of Notes Payable</a></td>
<td class="text"><p id="xdx_891_eus-gaap--ScheduleOfDebtTableTextBlock_zuox48HCaaQe" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
note payable amounts consist of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B5_zN5wDojxffya" style="display: none">Schedule
of Notes Payable</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.5in">
  <tr style="display: none; vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_499_20220630_zCMnzTCfwI3" 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_499_20211231_zg4HM3NIfYm2" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt">&#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 style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Short-term liabilities:</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--DebtInstrumentFaceAmount_iI_pp0p0_hus-gaap--ShortTermDebtTypeAxis__custom--NotesPayableMember_maNPCzD1Q_zbwtOyqZSQW" style="vertical-align: bottom; background-color: White">
    <td style="width: 56%; text-align: left">Note payable, principal</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">229,560</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: 18%; text-align: right">231,871</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestPayableCurrent_iI_pp0p0_hus-gaap--ShortTermDebtTypeAxis__custom--NotesPayableMember_maNPCzD1Q_zAaWfIJps8k8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Accrued interest on note</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">4,113</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">4,420</td><td style="padding-bottom: 1.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_40F_eus-gaap--NotesPayableCurrent_iTI_pp0p0_hus-gaap--ShortTermDebtTypeAxis__custom--NotesPayableMember_mtNPCzD1Q_zQ4knwYxD8u2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: left">Note payable, short-term</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">233,673</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">236,291</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 style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Long-term liabilities:</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_40F_eus-gaap--DebtInstrumentFaceAmount_iI_hus-gaap--LongtermDebtTypeAxis__custom--NotesPayableMember_zYntDlpsWhqk" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; text-align: left">Note payable, principal</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">8,165,838</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">8,280,395</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,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_40D_eus-gaap--LongTermNotesPayable_iI_pp0p0_hus-gaap--LongtermDebtTypeAxis__custom--NotesPayableMember_zdycWHk8zM77" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: left">Note payable, long term</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,165,838</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">8,280,395</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_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_ScheduleOfDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.</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_ScheduleOfDebtTableTextBlock</td>
</tr>
<tr>
<td style="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>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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648022775024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders&#8217; Equity (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Schedule of Non-qualified Stock Options</a></td>
<td class="text"><p id="xdx_893_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zRNq8KAYmY24" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BD_z2jaGcJoQNm8" style="display: none">Schedule
of Non-qualified Stock Options</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2021</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center"><p style="margin-top: 0; margin-bottom: 0">Number of</p>
                                               <p style="margin-top: 0; margin-bottom: 0">Stock&#160;</p></td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center"><p style="margin-top: 0; margin-bottom: 0">Weighted</p>
                                               <p style="margin-top: 0; margin-bottom: 0">Exercise</p></td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center"><p style="margin-top: 0; margin-bottom: 0">Number of</p>
                                               <p style="margin-top: 0; margin-bottom: 0">Stock</p></td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center"><p style="margin-top: 0; margin-bottom: 0">Weighted</p>
                                               <p style="margin-top: 0; margin-bottom: 0">Exercise</p></td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Options&#160;</p></td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Price</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Options</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Price</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%; text-align: left">Options outstanding, beginning of year</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_z1eMf54NhIc1" style="width: 12%; text-align: right" title="Number of stock options, options outstanding, beginning of year">112,500</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_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zfF7gkeByxX7" style="width: 12%; text-align: right" title="Weighted exercise price option outstanding, beginning of year">3.51</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 id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zhOHqEdNUjlc" style="width: 12%; text-align: right" title="Number of stock options, options outstanding, beginning of year">164,167</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_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zqXgP8pJYPI6" style="width: 12%; text-align: right" title="Weighted exercise price option outstanding, beginning of year">3.13</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zXoHjamxLVUg" style="text-align: right" title="Number of stock options, granted"><span style="-sec-ix-hidden: xdx2ixbrl1246">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zlh4ey955LLa" style="text-align: right" title="Weighted exercise price, granted"><span style="-sec-ix-hidden: xdx2ixbrl1248">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zkW1FhoMFSDh" style="text-align: right" title="Number of stock options, granted"><span style="-sec-ix-hidden: xdx2ixbrl1250">-</span></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_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zhvf0vL4djx4" style="text-align: right" title="Weighted exercise price, granted"><span style="-sec-ix-hidden: xdx2ixbrl1252">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Redeemed</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zk9kqlTjz493" style="text-align: right" title="Number of stock options, redeemed">(17,500</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zh3xpgvEi8O4" style="text-align: right" title="Weighted exercise price redeemed">2.55</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_z9bBPwCjJUvi" style="text-align: right" title="Number of stock options, redeemed">(17,500</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zKN0GWn3KG32" style="text-align: right" title="Weighted exercise price redeemed">1.21</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Exercised</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zUx7A0Jt1NLl" style="text-align: right" title="Number of stock options, exercised">(5,000</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zn82pgYEGMT5" style="text-align: right" title="Weighted exercise price exercised">2.55</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zzldUJfgeExb" style="text-align: right" title="Number of stock options, exercised">(5,000</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zkVvaGhe8AV6" style="text-align: right" title="Weighted exercise price exercised">1.21</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Expired / terminated</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zqijlpRFD1Lj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of stock options, expired / terminated"><span style="-sec-ix-hidden: xdx2ixbrl1270">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zkPANKQduDNj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted exercise price expired / terminated"><span style="-sec-ix-hidden: xdx2ixbrl1272">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zcEzdti7CjG" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of stock options, expired / terminated"><span style="-sec-ix-hidden: xdx2ixbrl1274">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zN9DAgugP88d" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted exercise price expired / terminated"><span style="-sec-ix-hidden: xdx2ixbrl1276">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Options outstanding, end of period</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_iE_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zYcrv0WRKmSa" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of stock options options  outstanding end of period">90,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_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zGTMDZQrhkvj" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted exercise price, option outstanding end of period">3.76</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 id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zsOsQDtz9Q2i" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of stock options options  outstanding end of period">141,667</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--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zLbYuUHd7P97" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted exercise price, option outstanding end of period">3.43</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Options exercisable, end of period</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zQsYi3sKfjjl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of stock options options exercisable end of period">90,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_pid_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zp1j55MyMC86" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted exercise price, options exercisable, end of period">3.76</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zN14SyZxekPi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of stock options options exercisable end of period">141,667</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_pid_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zJMHTh0l3md8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted exercise price, options exercisable, end of period">3.43</td><td style="padding-bottom: 1.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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648024120080">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Earnings Per Share (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_VTSI_SimulatorsandAccessoriesRevenue', window );">Simulators and accessories</a></td>
<td class="nump">$ 6,680,634<span></span>
</td>
<td class="nump">$ 4,154,415<span></span>
</td>
<td class="nump">$ 12,392,021<span></span>
</td>
<td class="nump">$ 7,181,161<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_VTSI_ExtendedServicetypeWarranties', window );">Simulators and accessories</a></td>
<td class="nump">806,070<span></span>
</td>
<td class="nump">728,482<span></span>
</td>
<td class="nump">1,585,579<span></span>
</td>
<td class="nump">1,441,190<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_VTSI_CustomizedSoftwareAndCustomizedContentScenarios', window );">Simulators and accessories</a></td>
<td class="nump">186,392<span></span>
</td>
<td class="nump">167,713<span></span>
</td>
<td class="nump">211,106<span></span>
</td>
<td class="nump">687,399<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_VTSI_InstallationAndTraining', window );">Simulators and accessories</a></td>
<td class="nump">324,287<span></span>
</td>
<td class="nump">201,952<span></span>
</td>
<td class="nump">561,905<span></span>
</td>
<td class="nump">382,921<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_VTSI_LicensingAndRoyaltiesRevenue', window );">Simulators and accessories</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">2,630<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">4,430<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Simulators and accessories</a></td>
<td class="nump">7,997,383<span></span>
</td>
<td class="nump">5,255,192<span></span>
</td>
<td class="nump">14,750,611<span></span>
</td>
<td class="nump">9,697,101<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income</a></td>
<td class="nump">$ 787,374<span></span>
</td>
<td class="nump">$ 529,359<span></span>
</td>
<td class="nump">$ 1,364,448<span></span>
</td>
<td class="nump">$ 1,184,522<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average common stock outstanding</a></td>
<td class="nump">10,866,775<span></span>
</td>
<td class="nump">10,644,363<span></span>
</td>
<td class="nump">10,837,186<span></span>
</td>
<td class="nump">9,209,808<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_VTSI_IncrementalCommonSharesAttributableToStockOptions', window );">Incremental shares from stock options</a></td>
<td class="nump">25,527<span></span>
</td>
<td class="nump">48,875<span></span>
</td>
<td class="nump">30,481<span></span>
</td>
<td class="num">(299)<span></span>
</td>
</tr>
<tr class="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 common stock outstanding diluted</a></td>
<td class="nump">10,892,302<span></span>
</td>
<td class="nump">10,693,238<span></span>
</td>
<td class="nump">10,867,667<span></span>
</td>
<td class="nump">9,209,509<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">$ 0.07<span></span>
</td>
<td class="nump">$ 0.05<span></span>
</td>
<td class="nump">$ 0.13<span></span>
</td>
<td class="nump">$ 0.13<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">$ 0.07<span></span>
</td>
<td class="nump">$ 0.05<span></span>
</td>
<td class="nump">$ 0.13<span></span>
</td>
<td class="nump">$ 0.13<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=VTSI_GeographicDistributionCommercialMember', window );">Commercial [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_VTSI_SimulatorsandAccessoriesRevenue', window );">Simulators and accessories</a></td>
<td class="nump">$ 3,521,100<span></span>
</td>
<td class="nump">$ 543,890<span></span>
</td>
<td class="nump">$ 5,101,292<span></span>
</td>
<td class="nump">$ 815,528<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_VTSI_ExtendedServicetypeWarranties', window );">Simulators and accessories</a></td>
<td class="nump">30,546<span></span>
</td>
<td class="nump">25,547<span></span>
</td>
<td class="nump">62,033<span></span>
</td>
<td class="nump">47,621<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_VTSI_CustomizedSoftwareAndCustomizedContentScenarios', window );">Simulators and accessories</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <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_VTSI_InstallationAndTraining', window );">Simulators and accessories</a></td>
<td class="nump">35,343<span></span>
</td>
<td class="nump">15,043<span></span>
</td>
<td class="nump">47,208<span></span>
</td>
<td class="nump">49,864<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_VTSI_LicensingAndRoyaltiesRevenue', window );">Simulators and accessories</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">2,630<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">4,430<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Simulators and accessories</a></td>
<td class="nump">3,586,989<span></span>
</td>
<td class="nump">587,110<span></span>
</td>
<td class="nump">5,210,533<span></span>
</td>
<td class="nump">917,443<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=VTSI_GeographicDistributionGovernmentMember', window );">Government [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_VTSI_SimulatorsandAccessoriesRevenue', window );">Simulators and accessories</a></td>
<td class="nump">1,422,233<span></span>
</td>
<td class="nump">3,503,592<span></span>
</td>
<td class="nump">4,646,791<span></span>
</td>
<td class="nump">5,181,515<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_VTSI_ExtendedServicetypeWarranties', window );">Simulators and accessories</a></td>
<td class="nump">747,878<span></span>
</td>
<td class="nump">673,970<span></span>
</td>
<td class="nump">1,478,238<span></span>
</td>
<td class="nump">1,344,554<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_VTSI_CustomizedSoftwareAndCustomizedContentScenarios', window );">Simulators and accessories</a></td>
<td class="nump">60,392<span></span>
</td>
<td class="nump">146,543<span></span>
</td>
<td class="nump">2,106<span></span>
</td>
<td class="nump">613,956<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_VTSI_InstallationAndTraining', window );">Simulators and accessories</a></td>
<td class="nump">249,847<span></span>
</td>
<td class="nump">186,909<span></span>
</td>
<td class="nump">407,400<span></span>
</td>
<td class="nump">306,707<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_VTSI_LicensingAndRoyaltiesRevenue', window );">Simulators and accessories</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Simulators and accessories</a></td>
<td class="nump">2,480,350<span></span>
</td>
<td class="nump">4,511,014<span></span>
</td>
<td class="nump">6,534,535<span></span>
</td>
<td class="nump">7,446,732<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_GeographicDistributionForeignMember', window );">Geographic Distribution, Foreign [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_VTSI_SimulatorsandAccessoriesRevenue', window );">Simulators and accessories</a></td>
<td class="nump">1,737,301<span></span>
</td>
<td class="nump">106,933<span></span>
</td>
<td class="nump">2,643,938<span></span>
</td>
<td class="nump">1,184,118<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_VTSI_ExtendedServicetypeWarranties', window );">Simulators and accessories</a></td>
<td class="nump">27,646<span></span>
</td>
<td class="nump">28,965<span></span>
</td>
<td class="nump">45,308<span></span>
</td>
<td class="nump">49,015<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_VTSI_CustomizedSoftwareAndCustomizedContentScenarios', window );">Simulators and accessories</a></td>
<td class="nump">126,000<span></span>
</td>
<td class="nump">21,170<span></span>
</td>
<td class="nump">209,000<span></span>
</td>
<td class="nump">73,443<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_VTSI_InstallationAndTraining', window );">Simulators and accessories</a></td>
<td class="nump">39,097<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">107,297<span></span>
</td>
<td class="nump">26,350<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_VTSI_LicensingAndRoyaltiesRevenue', window );">Simulators and accessories</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Simulators and accessories</a></td>
<td class="nump">$ 1,930,044<span></span>
</td>
<td class="nump">$ 157,068<span></span>
</td>
<td class="nump">$ 3,005,543<span></span>
</td>
<td class="nump">$ 1,332,926<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_VTSI_CustomizedSoftwareAndCustomizedContentScenarios">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Customized software and customized content scenarios.</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;">VTSI_CustomizedSoftwareAndCustomizedContentScenarios</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>VTSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_VTSI_ExtendedServicetypeWarranties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Extended service-type warranties.</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;">VTSI_ExtendedServicetypeWarranties</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>VTSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_VTSI_IncrementalCommonSharesAttributableToStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Incremental common shares attributable to stock options.</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;">VTSI_IncrementalCommonSharesAttributableToStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>VTSI_</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_VTSI_InstallationAndTraining">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Installation and training.</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;">VTSI_InstallationAndTraining</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>VTSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_VTSI_LicensingAndRoyaltiesRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Licensing and royalties 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;">VTSI_LicensingAndRoyaltiesRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>VTSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_VTSI_SimulatorsandAccessoriesRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Simulatorsand accessories 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;">VTSI_SimulatorsandAccessoriesRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>VTSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=VTSI_GeographicDistributionCommercialMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=VTSI_GeographicDistributionCommercialMember</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=VTSI_GeographicDistributionGovernmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=VTSI_GeographicDistributionGovernmentMember</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_GeographicDistributionForeignMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GeographicDistributionForeignMember</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>38
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648017230192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Organization and Significant Accounting Policies (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 7,997,383<span></span>
</td>
<td class="nump">$ 5,255,192<span></span>
</td>
<td class="nump">$ 14,750,611<span></span>
</td>
<td class="nump">$ 9,697,101<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_ContractWithCustomerLiabilityCurrent', window );">Customer deposits, current</a></td>
<td class="nump">4,373,173<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,373,173<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,135,565<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Revenue recognized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">916,069<span></span>
</td>
<td class="nump">682,842<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_CashFDICInsuredAmount', window );">FDIC insured amount</a></td>
<td class="nump">250,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">250,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_CashUninsuredAmount', window );">Uninsured cash and cash equivalents</a></td>
<td class="nump">14,515,248<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,515,248<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19,207,786<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_ChangeInAccountingEstimateByTypeAxis=VTSI_WarrantyMember', window );">Warranty [Member] | One Year or Less [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [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>
<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_ExtendedProductWarrantyAccrual', window );">Extended warranties</a></td>
<td class="nump">1,160,327<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,160,327<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,764,034<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_ChangeInAccountingEstimateByTypeAxis=VTSI_WarrantyMember', window );">Warranty [Member] | Longer Than One Year [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [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>
<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_ExtendedProductWarrantyAccrual', window );">Extended warranties</a></td>
<td class="nump">2,311,052<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,311,052<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,815,871<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_ChangeInAccountingEstimateByTypeAxis=VTSI_WarrantyMember', window );">Warranty [Member] | One Year [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [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>
<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_ExtendedProductWarrantyAccrual', window );">Extended warranties</a></td>
<td class="nump">434,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">434,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">384,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_IncomeStatementLocationAxis=VTSI_DeferredRevenueMember', window );">Deferred Revenue [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [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>
<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_ContractWithCustomerLiabilityCurrent', window );">Customer deposits, current</a></td>
<td class="nump">$ 3,212,846<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,212,846<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,371,531<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_RevenueFromContractWithCustomerMember', window );">Revenue from Contract with Customer Benchmark [Member] | Customer Concentration Risk [Member] | Government Customers [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,534,535<span></span>
</td>
<td class="nump">$ 7,446,732<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 );">Concentration of credit risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">44.00%<span></span>
</td>
<td class="nump">77.00%<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_ConcentrationRiskByBenchmarkAxis=us-gaap_RevenueFromContractWithCustomerMember', window );">Revenue from Contract with Customer Benchmark [Member] | Customer Concentration Risk [Member] | Commercial Customers [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,210,533<span></span>
</td>
<td class="nump">$ 917,443<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 );">Concentration of credit risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35.00%<span></span>
</td>
<td class="nump">9.00%<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_ConcentrationRiskByBenchmarkAxis=us-gaap_RevenueFromContractWithCustomerMember', window );">Revenue from Contract with Customer Benchmark [Member] | Customer Concentration Risk [Member] | International Customers [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,005,543<span></span>
</td>
<td class="nump">$ 1,332,926<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 );">Concentration of credit risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">14.00%<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_ConcentrationRiskByBenchmarkAxis=us-gaap_RevenueFromContractWithCustomerProductAndServiceBenchmarkMember', window );">Revenue from Contract with Customer, Product and Service Benchmark [Member] | Customer Concentration Risk [Member] | One Federal Agency [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [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>
<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 );">Concentration of credit risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.00%<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_ConcentrationRiskByBenchmarkAxis=us-gaap_RevenueFromContractWithCustomerProductAndServiceBenchmarkMember', window );">Revenue from Contract with Customer, Product and Service Benchmark [Member] | Customer Concentration Risk [Member] | No Commercial Customer [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [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>
<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 );">Concentration of credit risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.00%<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_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable [Member] | Customer Concentration Risk [Member] | One State Agency [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [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>
<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 );">Concentration of credit risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.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] | One Commercial Customer [Member] | One State Agency [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [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>
<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 );">Concentration of credit risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">13.70%<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_CashFDICInsuredAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deposited in financial institutions as of the balance sheet date that is 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_CashFDICInsuredAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6351-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13531-108611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13537-108611<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6404-108592<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130532-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ExtendedProductWarrantyAccrual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount as of the balance sheet date of the aggregate extended product warranty liability. Does not include the ending balance for the standard product warranty liability.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(1),(c)(5)<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ExtendedProductWarrantyAccrual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProductInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ChangeInAccountingEstimateByTypeAxis=VTSI_WarrantyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ChangeInAccountingEstimateByTypeAxis=VTSI_WarrantyMember</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_AwardDateAxis=VTSI_OneYearOrLessMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AwardDateAxis=VTSI_OneYearOrLessMember</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_AwardDateAxis=VTSI_LongerThanOneYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AwardDateAxis=VTSI_LongerThanOneYearMember</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_AwardDateAxis=VTSI_OneYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AwardDateAxis=VTSI_OneYearMember</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_IncomeStatementLocationAxis=VTSI_DeferredRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeStatementLocationAxis=VTSI_DeferredRevenueMember</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_RevenueFromContractWithCustomerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RevenueFromContractWithCustomerMember</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=VTSI_GovernmentCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=VTSI_GovernmentCustomersMember</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=VTSI_CommercialCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=VTSI_CommercialCustomersMember</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=VTSI_InternationalCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=VTSI_InternationalCustomersMember</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_RevenueFromContractWithCustomerProductAndServiceBenchmarkMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</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=VTSI_OneFederalAgencyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=VTSI_OneFederalAgencyMember</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=VTSI_NoCommercialCustomerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=VTSI_NoCommercialCustomerMember</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_StatementGeographicalAxis=VTSI_OneStateAgencyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=VTSI_OneStateAgencyMember</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=VTSI_OneCommercialCustomerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=VTSI_OneCommercialCustomerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648026338608">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Inventory (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_InventoryWorkInProcessAndRawMaterials', window );">Raw materials and work in process</a></td>
<td class="nump">$ 9,134,217<span></span>
</td>
<td class="nump">$ 5,229,636<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryValuationReserves', window );">Reserve</a></td>
<td class="num">(302,431)<span></span>
</td>
<td class="num">(214,712)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Total inventory</a></td>
<td class="nump">$ 8,831,786<span></span>
</td>
<td class="nump">$ 5,014,924<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_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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB TOPIC 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryValuationReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWorkInProcessAndRawMaterials">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 carrying amount as of the balance sheet date of items held by the entity which are partially completed at the time of measurement and unprocessed items that will go through the production process and become part of the final product. Includes supplies used directly or indirectly in the manufacturing or production process. This element may be used when the reporting entity combines work in process and raw materials into an aggregate amount.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWorkInProcessAndRawMaterials</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648024774512">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Inventory (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets, long-term</a></td>
<td class="nump">$ 376,461<span></span>
</td>
<td class="nump">$ 189,734<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_BalanceSheetLocationAxis=VTSI_SparePartsMember', window );">Spare Parts [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_OtherAssetsNoncurrent', window );">Other assets, long-term</a></td>
<td class="nump">$ 322,968<span></span>
</td>
<td class="nump">$ 136,241<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_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=VTSI_SparePartsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BalanceSheetLocationAxis=VTSI_SparePartsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648024470960">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Property and Equipment (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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 );">Total property and equipment</a></td>
<td class="nump">$ 17,752,244<span></span>
</td>
<td class="nump">$ 16,026,518<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less: Accumulated depreciation and amortization</a></td>
<td class="num">(3,566,820)<span></span>
</td>
<td class="num">(3,161,752)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">14,185,424<span></span>
</td>
<td class="nump">12,864,766<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_LandMember', window );">Land [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 );">Total property and equipment</a></td>
<td class="nump">1,778,987<span></span>
</td>
<td class="nump">1,778,987<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember', window );">Building and Building Improvements [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 );">Total property and equipment</a></td>
<td class="nump">9,097,454<span></span>
</td>
<td class="nump">9,005,205<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_ComputerEquipmentMember', window );">Computer 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 );">Total property and equipment</a></td>
<td class="nump">1,204,720<span></span>
</td>
<td class="nump">1,171,319<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=VTSI_FurnitureAndOfficeEquipmentMember', window );">Furniture And Office 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 );">Total property and equipment</a></td>
<td class="nump">272,806<span></span>
</td>
<td class="nump">262,814<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 );">Total property and equipment</a></td>
<td class="nump">2,739,881<span></span>
</td>
<td class="nump">1,970,007<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=VTSI_STEPEquipmentMember', window );">S T E P 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 );">Total property and equipment</a></td>
<td class="nump">1,790,268<span></span>
</td>
<td class="nump">1,496,252<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="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 );">Total property and equipment</a></td>
<td class="nump">334,934<span></span>
</td>
<td class="nump">334,934<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_ConstructionInProgressMember', window );">Construction in Progress [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 );">Total property and equipment</a></td>
<td class="nump">$ 533,194<span></span>
</td>
<td class="nump">$ 7,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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_LandMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LandMember</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_BuildingAndBuildingImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ComputerEquipmentMember</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=VTSI_FurnitureAndOfficeEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=VTSI_FurnitureAndOfficeEquipmentMember</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=VTSI_STEPEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=VTSI_STEPEquipmentMember</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=us-gaap_ConstructionInProgressMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConstructionInProgressMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648022684352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and Equipment (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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">$ 405,162<span></span>
</td>
<td class="nump">$ 196,711<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>43
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648024556416">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Intangible Asset (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [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_FiniteLivedIntangibleAssetsGross', window );">Total intangible assets</a></td>
<td class="nump">$ 661,203<span></span>
</td>
<td class="nump">$ 575,191<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Less accumulated amortization</a></td>
<td class="num">(81,240)<span></span>
</td>
<td class="num">(40,112)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="nump">579,963<span></span>
</td>
<td class="nump">535,079<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=us-gaap_PatentsMember', window );">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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [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_FiniteLivedIntangibleAssetsGross', window );">Total intangible assets</a></td>
<td class="nump">160,000<span></span>
</td>
<td class="nump">160,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=VTSI_CapitalizedMediaContentMember', window );">Capitalized Media Content [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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [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_FiniteLivedIntangibleAssetsGross', window );">Total intangible assets</a></td>
<td class="nump">417,240<span></span>
</td>
<td class="nump">331,228<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=VTSI_AcquiredLeaseIntangibleAssetsMember', window );">Acquired Lease Intangible Assets [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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [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_FiniteLivedIntangibleAssetsGross', window );">Total intangible assets</a></td>
<td class="nump">$ 83,963<span></span>
</td>
<td class="nump">$ 83,963<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_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 928<br> -SubTopic 340<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6473545&amp;loc=d3e61844-108004<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-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_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16212-109274<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=us-gaap_PatentsMember</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=VTSI_CapitalizedMediaContentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=VTSI_CapitalizedMediaContentMember</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=VTSI_AcquiredLeaseIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=VTSI_AcquiredLeaseIntangibleAssetsMember</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>44
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648022674048">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Asset (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets 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_AmortizationOfIntangibleAssets', window );">Amortization of intangible asset</a></td>
<td class="nump">$ 41,128<span></span>
</td>
<td class="nump">$ 4,445<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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>45
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648024241088">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Balance Sheet Classification of Lease Assets and Liabilities (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right-of-use assets, beginning</a></td>
<td class="nump">$ 784,306<span></span>
</td>
<td class="nump">$ 1,094,527<span></span>
</td>
<td class="nump">$ 1,094,527<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense', window );">Amortization</a></td>
<td class="num">(160,658)<span></span>
</td>
<td class="num">$ (153,299)<span></span>
</td>
<td class="num">(310,221)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Total operating lease right-of-use asset, ending</a></td>
<td class="nump">623,648<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">784,306<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liability, short-term</a></td>
<td class="nump">361,403<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">347,772<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liability, long-term</a></td>
<td class="nump">321,217<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">505,383<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Total lease liabilities</a></td>
<td class="nump">$ 682,620<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 853,155<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for right-of-use asset from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648024620704">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Future Minimum Lease Payments (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear', window );">2022</a></td>
<td class="nump">$ 190,941<span></span>
</td>
<td class="nump">$ 379,097<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2023</a></td>
<td class="nump">390,562<span></span>
</td>
<td class="nump">390,562<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2024</a></td>
<td class="nump">131,152<span></span>
</td>
<td class="nump">131,152<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_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total lease payments</a></td>
<td class="nump">712,655<span></span>
</td>
<td class="nump">900,811<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less: imputed interest</a></td>
<td class="num">(30,035)<span></span>
</td>
<td class="num">(47,656)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating lease liability</a></td>
<td class="nump">$ 682,620<span></span>
</td>
<td class="nump">$ 853,155<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648024774608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRent', window );">Rent expenses</a></td>
<td class="nump">$ 195,201<span></span>
</td>
<td class="nump">$ 115,140<span></span>
</td>
<td class="nump">$ 404,453<span></span>
</td>
<td class="nump">$ 258,897<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cash payments to lessor's for use of assets under operating leases.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648024546800">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Accrued Compensation and Related Costs (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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 );">Salaries and wages payable</a></td>
<td class="nump">$ 365,537<span></span>
</td>
<td class="nump">$ 422,562<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedEmployeeBenefitsCurrent', window );">Employee benefits payable</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">16,523<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedVacationCurrent', window );">Accrued paid time off (PTO)</a></td>
<td class="nump">574,185<span></span>
</td>
<td class="nump">483,311<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationCashBasedArrangementsLiabilityCurrent', window );">Profit sharing payable</a></td>
<td class="nump">289,682<span></span>
</td>
<td class="nump">139,682<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_EmployeeRelatedLiabilitiesCurrent', window );">Total accrued compensation and related costs</a></td>
<td class="nump">$ 1,229,404<span></span>
</td>
<td class="nump">$ 1,062,078<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_AccruedEmployeeBenefitsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, excluding pension and other postretirement benefits, incurred through that date and payable for perquisites provided to employees pertaining to services received from them. 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedEmployeeBenefitsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_AccruedVacationCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 unused vacation time owed to employees based on the entity's vacation benefit given to its employees. 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 710<br> -SubTopic 10<br> -Section 25<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=6409733&amp;loc=d3e19396-108361<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedVacationCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredCompensationCashBasedArrangementsLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate carrying value as of the balance sheet date of the liabilities for deferred compensation arrangements payable within one year (or the normal operating cycle, if longer). Represents currently earned compensation under cash arrangements (such as a profit-sharing plan, rabbi trust, and employee contract--excluding equity-based arrangements) that is not actually paid until a later 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 710<br> -SubTopic 10<br> -Section 25<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=123585891&amp;loc=d3e19793-108362<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 710<br> -SubTopic 10<br> -Section 30<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=6409875&amp;loc=d3e20028-108363<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCompensationCashBasedArrangementsLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>49
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648024445344">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Accrued Expenses and Other Current Liabilities (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_ProductWarrantyAccrualClassifiedCurrent', window );">Manufacturer&#8217;s warranties</a></td>
<td class="nump">$ 434,000<span></span>
</td>
<td class="nump">$ 384,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_TaxesPayableCurrent', window );">Taxes payable</a></td>
<td class="nump">222,466<span></span>
</td>
<td class="nump">113,921<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherBorrowings', window );">Miscellaneous payable</a></td>
<td class="nump">613,620<span></span>
</td>
<td class="nump">493,823<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_AccountsPayableAndOtherAccruedLiabilitiesCurrent', window );">Total accrued expenses and other current liabilities</a></td>
<td class="nump">$ 1,270,086<span></span>
</td>
<td class="nump">$ 991,744<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_AccountsPayableAndOtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 incurred to vendors for goods and services received, and accrued liabilities classified as other, payable within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OtherBorrowings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount as of the balance sheet date for the aggregate of other miscellaneous borrowings owed by the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.13,16)<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherBorrowings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProductWarrantyAccrualClassifiedCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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. For classified balance sheets, represents 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12524-110249<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 25<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126907644&amp;loc=d3e11281-110244<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualClassifiedCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_TaxesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>50
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648024256560">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Notes Payable (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [Line Items]</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_NotesPayableCurrent', window );">Note payable, short-term</a></td>
<td class="nump">$ 233,673<span></span>
</td>
<td class="nump">$ 236,291<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermNotesPayable', window );">Note payable, long term</a></td>
<td class="nump">8,165,838<span></span>
</td>
<td class="nump">8,280,395<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_LongtermDebtTypeAxis=VTSI_NotesPayableMember', window );">Notes Payable [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_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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_DebtInstrumentFaceAmount', window );">Note payable, principal</a></td>
<td class="nump">8,165,838<span></span>
</td>
<td class="nump">8,280,395<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermNotesPayable', window );">Note payable, long term</a></td>
<td class="nump">8,165,838<span></span>
</td>
<td class="nump">8,280,395<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_ShortTermDebtTypeAxis=VTSI_NotesPayableMember', window );">Notes Payable [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_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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_DebtInstrumentFaceAmount', window );">Note payable, principal</a></td>
<td class="nump">229,560<span></span>
</td>
<td class="nump">231,871<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPayableCurrent', window );">Accrued interest on note</a></td>
<td class="nump">4,113<span></span>
</td>
<td class="nump">4,420<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_NotesPayableCurrent', window );">Note payable, short-term</a></td>
<td class="nump">$ 233,673<span></span>
</td>
<td class="nump">$ 236,291<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_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (par) amount of debt instrument at time of issuance.</p></div>
<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28551-108399<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429444&amp;loc=SL124452920-239629<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_InterestPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 [accrued] interest payable on all forms of debt, including trade payables, that has been incurred and is unpaid. 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LongTermNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 notes payable (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_NotesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 values as of the balance sheet date of the portions of long-term notes payable due within one year or the 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ShortTermDebtLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtLineItems</td>
</tr>
<tr>
<td style="padding-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_LongtermDebtTypeAxis=VTSI_NotesPayableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LongtermDebtTypeAxis=VTSI_NotesPayableMember</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_ShortTermDebtTypeAxis=VTSI_NotesPayableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShortTermDebtTypeAxis=VTSI_NotesPayableMember</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>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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648024594624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note Payable (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Aug. 25, 2021</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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_PaymentsToAcquirePropertyPlantAndEquipment', window );">Payment to acquire assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,725,726<span></span>
</td>
<td class="nump">$ 602,009<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_dei_LegalEntityAxis=VTSI_ArizonaBankAndTrustMember', window );">Arizona Bank and Trust [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_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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_ProceedsFromLoans', window );">Proceeds from bank loan</a></td>
<td class="nump">$ 8,600,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_DebtInstrumentInterestRateDuringPeriod', window );">Debt instrument interest rate</a></td>
<td class="nump">3.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentMaturityDate', window );">Maturity date</a></td>
<td class="text">Aug. 23,  2031<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_dei_LegalEntityAxis=VTSI_ArizonaBankAndTrustMember', window );">Arizona Bank and Trust [Member] | 199 Regular Monthly Payments [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_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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_DebtInstrumentPeriodicPayment', window );">Debt instrument periodic payment</a></td>
<td class="nump">$ 40,978<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_dei_LegalEntityAxis=VTSI_ArizonaBankAndTrustMember', window );">Arizona Bank and Trust [Member] | One Irregular Payment [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_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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_DebtInstrumentPeriodicPayment', window );">Debt instrument periodic payment</a></td>
<td class="nump">5,956,538<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_PropertyPlantAndEquipmentByTypeAxis=VTSI_PropertyMember', window );">Property [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_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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_PaymentsToAcquirePropertyPlantAndEquipment', window );">Payment to acquire assets</a></td>
<td class="nump">$ 10,800,000<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_DebtInstrumentInterestRateDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 effective interest rate 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28551-108399<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495355-112611<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateDuringPeriod</td>
</tr>
<tr>
<td style="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_DebtInstrumentMaturityDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Date when the debt instrument is scheduled to be fully repaid, in YYYY-MM-DD format.</p></div>
<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentMaturityDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentPeriodicPayment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 required periodic payments including both interest and principal payments.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 470<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123599511&amp;loc=d3e64711-112823<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentPeriodicPayment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ProceedsFromLoans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cash received from principal payments made on loans related to 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromLoans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ShortTermDebtLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtLineItems</td>
</tr>
<tr>
<td style="padding-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_dei_LegalEntityAxis=VTSI_ArizonaBankAndTrustMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">dei_LegalEntityAxis=VTSI_ArizonaBankAndTrustMember</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_DebtInstrumentAxis=VTSI_OneHundredAndNineteenRegularMonthlyPaymentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=VTSI_OneHundredAndNineteenRegularMonthlyPaymentsMember</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_DebtInstrumentAxis=VTSI_OneIrregularPaymentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=VTSI_OneIrregularPaymentMember</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=VTSI_PropertyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=VTSI_PropertyMember</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>52
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648021677984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related Party Transactions (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Compensation expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 47,800<span></span>
</td>
<td class="nump">$ 116,717<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_CommonStockParOrStatedValuePerShare', window );">Common stock, par value</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
</tr>
<tr class="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 );">Stock option exercised, value</a></td>
<td class="nump">$ 4,750<span></span>
</td>
<td class="nump">$ 2,450<span></span>
</td>
<td class="nump">$ 12,725<span></span>
</td>
<td class="nump">$ 6,070<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_StatementEquityComponentsAxis=us-gaap_CommonStockMember', window );">Common Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [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>
<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_StockIssuedDuringPeriodSharesNewIssues', window );">Stock issued during the period, new issues</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,000,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_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Stock option exercised, value</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=VTSI_ChiefExecutiveOfficerAndChiefOperatingOfficerMember', window );">Chief Executive Officer and Chief Operating Officer [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [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>
<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_StockRedeemedOrCalledDuringPeriodShares', window );">Stock reedemed or called during period shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17,500<span></span>
</td>
<td class="nump">17,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=VTSI_BoardMember', window );">Board [Member] | Common Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [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>
<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_StockIssuedDuringPeriodSharesNewIssues', window );">Stock issued during the period, new issues</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
<td class="nump">5,000<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_CommonStockParOrStatedValuePerShare', window );">Common stock, par value</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.0001<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_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Stock option exercised, value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 12,725<span></span>
</td>
<td class="nump">$ 6,070<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_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 new stock issued 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_StockRedeemedOrCalledDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 stock bought back by the entity at the exercise price or redemption price.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRedeemedOrCalledDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-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_StatementEquityComponentsAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementEquityComponentsAxis=us-gaap_CommonStockMember</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_TitleOfIndividualAxis=VTSI_ChiefExecutiveOfficerAndChiefOperatingOfficerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TitleOfIndividualAxis=VTSI_ChiefExecutiveOfficerAndChiefOperatingOfficerMember</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_TitleOfIndividualAxis=VTSI_BoardMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TitleOfIndividualAxis=VTSI_BoardMember</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>53
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648021914096">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="4">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Mar. 31, 2021</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Apr. 30, 2022</div></th>
<th class="th"><div>Aug. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 787,374<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 529,359<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,364,448<span></span>
</td>
<td class="nump">$ 1,184,522<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_ShareBasedCompensation', window );">Share-Based Payment Arrangement, Noncash Expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">70,497<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Operating expenses</a></td>
<td class="nump">$ 3,702,109<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,313,932<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,677,896<span></span>
</td>
<td class="nump">4,318,382<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_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis=us-gaap_DeferredProfitSharingMember', window );">Deferred Profit Sharing [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_OperatingExpenses', window );">Operating expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 75,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">150,000<span></span>
</td>
<td class="nump">$ 150,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (RSUs) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_ShareBasedCompensation', window );">Share-Based Payment Arrangement, Noncash Expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">70,497<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="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_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (RSUs) [Member] | June 30, 2022 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,500,000<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=VTSI_CoChiefExecutiveOfficerMember', window );">Co-Chief Executive Officer [Member] | Restricted Stock Units (RSUs) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Number of shares authorized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">288,889<span></span>
</td>
<td class="nump">224,133<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_TitleOfIndividualAxis=srt_ChiefOperatingOfficerMember', window );">Chief Operating Officer [Member] | Restricted Stock Units (RSUs) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Number of shares authorized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">168,090<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_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis=us-gaap_DeferredProfitSharingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis=us-gaap_DeferredProfitSharingMember</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=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestrictedStockUnitsRSUMember</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_AwardDateAxis=VTSI_JuneThirtyTwoThousandAndTwentyTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AwardDateAxis=VTSI_JuneThirtyTwoThousandAndTwentyTwoMember</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_TitleOfIndividualAxis=VTSI_CoChiefExecutiveOfficerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TitleOfIndividualAxis=VTSI_CoChiefExecutiveOfficerMember</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_TitleOfIndividualAxis=srt_ChiefOperatingOfficerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TitleOfIndividualAxis=srt_ChiefOperatingOfficerMember</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>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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648024255984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Non-qualified Stock Options (Details) - Non Qualified Stock Option [Member] - $ / shares<br></strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OffsettingAssetsLineItems', window );"><strong>Offsetting Assets [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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of stock options, options outstanding, beginning of year</a></td>
<td class="nump">112,500<span></span>
</td>
<td class="nump">164,167<span></span>
</td>
</tr>
<tr class="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 exercise price option outstanding, beginning of year</a></td>
<td class="nump">$ 3.51<span></span>
</td>
<td class="nump">$ 3.13<span></span>
</td>
</tr>
<tr class="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 );">Number of stock options, granted</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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Weighted exercise price, granted</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <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_VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross', window );">Number of stock options, redeemed</a></td>
<td class="num">(17,500)<span></span>
</td>
<td class="num">(17,500)<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_VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue', window );">Weighted exercise price redeemed</a></td>
<td class="nump">$ 2.55<span></span>
</td>
<td class="nump">$ 1.21<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Number of stock options, exercised</a></td>
<td class="num">(5,000)<span></span>
</td>
<td class="num">(5,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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Weighted exercise price exercised</a></td>
<td class="nump">$ 2.55<span></span>
</td>
<td class="nump">$ 1.21<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod', window );">Number of stock options, expired / terminated</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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice', window );">Weighted exercise price expired / terminated</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of stock options options outstanding end of period</a></td>
<td class="nump">90,000<span></span>
</td>
<td class="nump">141,667<span></span>
</td>
</tr>
<tr class="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 exercise price, option outstanding end of period</a></td>
<td class="nump">$ 3.76<span></span>
</td>
<td class="nump">$ 3.43<span></span>
</td>
</tr>
<tr class="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 );">Number of stock options options exercisable end of period</a></td>
<td class="nump">90,000<span></span>
</td>
<td class="nump">141,667<span></span>
</td>
</tr>
<tr class="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 exercise price, options exercisable, end of period</a></td>
<td class="nump">$ 3.76<span></span>
</td>
<td class="nump">$ 3.43<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, redeemed.</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;">VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>VTSI_</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_VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average exercise price, redeemed.</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;">VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>VTSI_</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_OffsettingAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OffsettingAssetsLineItems</td>
</tr>
<tr>
<td style="padding-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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees could have acquired the underlying shares with respect to stock options of the plan that expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=VTSI_NonQualifiedStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DerivativeInstrumentRiskAxis=VTSI_NonQualifiedStockOptionMember</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>55
<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.22.2.2</span><table class="report" border="0" cellspacing="2" id="idm140648016468816">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders&#8217; Equity (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Apr. 11, 2022</div></th>
<th class="th"><div>Apr. 05, 2021</div></th>
<th class="th"><div>Mar. 31, 2021</div></th>
<th class="th"><div>Jan. 09, 2019</div></th>
<th class="th"><div>Oct. 25, 2016</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Aug. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Options outstanding weighted average contractual term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">7 years<span></span>
</td>
<td class="text">7 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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Options exercisable weighted average contractual term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">7 years<span></span>
</td>
<td class="text">7 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue', window );">Exercisable and outstanding intriinsic value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 56,700<span></span>
</td>
<td class="nump">$ 557,707<span></span>
</td>
<td class="nump">$ 56,700<span></span>
</td>
<td class="nump">$ 557,707<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Intriinsic value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">141,272<span></span>
</td>
<td class="nump">27,315<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_ProceedsFromStockOptionsExercised', window );">Proceeds from stock options exrercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,750<span></span>
</td>
<td class="nump">$ 2,450<span></span>
</td>
<td class="nump">12,725<span></span>
</td>
<td class="nump">6,070<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_IssuanceOfStockAndWarrantsForServicesOrClaims', window );">Stock issued for service</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 350,001<span></span>
</td>
<td class="text"> <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_CommonStockParOrStatedValuePerShare', window );">Common stock par value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.0001<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_ProceedsFromIssuanceInitialPublicOffering', window );">Proceeds from offering</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 16,795,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=VTSI_OfferingMember', window );">Offering [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_ProceedsFromIssuanceInitialPublicOffering', window );">Proceeds from offering</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 18,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_OtherExpenses', window );">other expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,205,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TypeOfArrangementAxis=VTSI_PlacementAgencyAgreementMember', window );">Placement Agency Agreement [Member] | Roth Capital Partners, LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Sale of stock, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=srt_ChiefOperatingOfficerMember', window );">Chief Operating Officer [Member] | Restricted Stock Units (RSUs) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Stock issued during period shares based compensation authorized, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">168,090<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_TitleOfIndividualAxis=VTSI_Mr.GivensMember', window );">Mr.Givens [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_VTSI_StockIssuedDuringPeriodsharesForSigningBonus', window );">Stock issued during period for signing bonus, shares</a></td>
<td class="nump">64,815<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_SharesIssuedPricePerShare', window );">Shares issued price per shares</a></td>
<td class="nump">$ 5.40<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_IssuanceOfStockAndWarrantsForServicesOrClaims', window );">Stock issued for service</a></td>
<td class="nump">$ 350,001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=VTSI_InstitutionalInvestorsMember', window );">Institutional Investors [Member] | Registered Director Offering [Member] | Securities Purchase Agreement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_SaleOfStockNumberOfSharesIssuedInTransaction', window );">Number of shares sold</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_CommonStockParOrStatedValuePerShare', window );">Common stock par value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_SaleOfStockPricePerShare', window );">Sale of stock, price per share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="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=VTSI_TwoThousandAndSeventeenEquityIncentivePlanMember', window );">2017 Equity Incentive Plan [Member] | Chief Executive Officer One [Member] | Restricted Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Stock issued during period shares based compensation authorized, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">224,133<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">224,133<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of shares granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,057<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="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=VTSI_TwoThousandAndSeventeenEquityIncentivePlanMember', window );">2017 Equity Incentive Plan [Member] | Chief Executive Officer Two [Member] | Restricted Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Stock issued during period shares based compensation authorized, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">288,889<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">288,889<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="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=VTSI_TwoThousandAndSeventeenEquityIncentivePlanMember', window );">2017 Equity Incentive Plan [Member] | Chief Operating Officer [Member] | Restricted Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Stock issued during period shares based compensation authorized, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">168,090<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">168,090<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of shares granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,543<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="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=VTSI_EquityIncentivePlanMember', window );">Equity Incentive Plan [Member] | Mr.Givens [Member] | Restricted Stock Units (RSUs) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of shares granted</a></td>
<td class="nump">288,889<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights', window );">Restricted stock units vesting, description</a></td>
<td class="text">Beginning on the last business day of August 2022, a tranche of restricted stock units, having an
approximate value of $40,000, based on current grant day prices, may vest if the Company has achieved net profit for the twelve months
ending June 30, 2022 of at least $2,500,000. For every $500,000 earned in excess of $2,500,000 another tranche will vest. If the maximum
net profit of $7,000,000 is achieved, ten tranches would vest. Similarly, on the last business day of August 2023, a tranche of restricted
stock units may vest if the Company has achieved a net profit of at least $3,000,000, with the potential to have additional tranches
vest up to a maximum of $9,000,000 in net profit. This vesting arrangement continues with the last business day of August 2024, with
the minimum net profit threshold being $3,500,000 and the maximum net profit being $11,000,000.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member] | Placement Agency Agreement [Member] | Roth Capital Partners, LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_VTSI_ReimbursementLegalFeesAndExpenses', window );">Reimbursement legal fees and expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 35,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonStockMember', window );">Common Stock [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_ClassOfStockLineItems', window );"><strong>Class of Stock [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_StockRepurchasedDuringPeriodValue', window );">Stock repurchased during period, value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000,000<span></span>
</td>
<td class="nump">$ 1,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_VTSI_ReimbursementLegalFeesAndExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Reimbursement legal fees and expenses.</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;">VTSI_ReimbursementLegalFeesAndExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>VTSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share-based compensation arrangement by Share-based payment award, options, vested and expected to vest, exercisable and outstanding, aggregate intrinsic value.</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;">VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>VTSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_VTSI_StockIssuedDuringPeriodsharesForSigningBonus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Stock issued during period for signing bonus, 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;">VTSI_StockIssuedDuringPeriodsharesForSigningBonus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>VTSI_</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_ClassOfStockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfStockLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IssuanceOfStockAndWarrantsForServicesOrClaims">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of share-based compensation granted to nonemployees as payment for services rendered or acknowledged claims.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IssuanceOfStockAndWarrantsForServicesOrClaims</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OtherExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4,6)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProceedsFromIssuanceInitialPublicOffering">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the amount received from entity's first offering of stock to the public.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceInitialPublicOffering</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=SL79508275-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_SaleOfStockNumberOfSharesIssuedInTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 issued or sold by the subsidiary or equity method investee per stock transaction.</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_SaleOfStockNumberOfSharesIssuedInTransaction</td>
</tr>
<tr>
<td style="padding-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_SaleOfStockPercentageOfOwnershipAfterTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of subsidiary's or equity investee's stock owned by parent company after stock transaction.</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_SaleOfStockPercentageOfOwnershipAfterTransaction</td>
</tr>
<tr>
<td style="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_SaleOfStockPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction.</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_SaleOfStockPricePerShare</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Description of service or performance condition required to be met for earning right to award under share-based payment arrangement. Includes, but is not limited to, combination of market, performance or service condition.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 vested portions of options outstanding and currently exercisable or convertible, 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_SharesIssuedPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share or per unit amount of equity securities issued.</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_SharesIssuedPricePerShare</td>
</tr>
<tr>
<td style="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_StockRepurchasedDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_SubsidiarySaleOfStockAxis=VTSI_OfferingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SubsidiarySaleOfStockAxis=VTSI_OfferingMember</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_TypeOfArrangementAxis=VTSI_PlacementAgencyAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=VTSI_PlacementAgencyAgreementMember</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_dei_LegalEntityAxis=VTSI_RothCapitalPartnersLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">dei_LegalEntityAxis=VTSI_RothCapitalPartnersLLCMember</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_TitleOfIndividualAxis=srt_ChiefOperatingOfficerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TitleOfIndividualAxis=srt_ChiefOperatingOfficerMember</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=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestrictedStockUnitsRSUMember</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_TitleOfIndividualAxis=VTSI_Mr.GivensMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TitleOfIndividualAxis=VTSI_Mr.GivensMember</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_TitleOfIndividualAxis=VTSI_InstitutionalInvestorsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TitleOfIndividualAxis=VTSI_InstitutionalInvestorsMember</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=VTSI_RegisteredDirectorOfferingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=VTSI_RegisteredDirectorOfferingMember</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_TypeOfArrangementAxis=VTSI_SecuritiesPurchaseAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=VTSI_SecuritiesPurchaseAgreementMember</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=VTSI_TwoThousandAndSeventeenEquityIncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=VTSI_TwoThousandAndSeventeenEquityIncentivePlanMember</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_TitleOfIndividualAxis=VTSI_ChiefExecutiveOfficerOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TitleOfIndividualAxis=VTSI_ChiefExecutiveOfficerOneMember</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=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestrictedStockMember</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_TitleOfIndividualAxis=VTSI_ChiefExecutiveOfficerTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TitleOfIndividualAxis=VTSI_ChiefExecutiveOfficerTwoMember</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=VTSI_EquityIncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=VTSI_EquityIncentivePlanMember</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_StatementClassOfStockAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementClassOfStockAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>form10-q_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:VTSI="http://virtra.com/20220630"
  xmlns:dei="http://xbrl.sec.gov/dei/2022"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2022"
  xmlns:us-gaap="http://fasb.org/us-gaap/2022"
  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="vtsi-20220630.xsd" xlink:type="simple"/>
    <context id="From2022-01-01to2022-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-08-11">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
        </entity>
        <period>
            <instant>2022-08-11</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_us-gaap_CommonClassAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_CommonClassAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_us-gaap_CommonClassBMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_CommonClassBMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2022-04-012022-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2021-04-012021-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_custom_NetSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">VTSI:NetSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2021-04-012021-06-30_custom_NetSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">VTSI:NetSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_NetSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">VTSI:NetSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-06-30_custom_NetSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">VTSI:NetSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-03-31_us-gaap_PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="AsOf2022-03-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="AsOf2022-03-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="AsOf2022-03-31_us-gaap_TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="AsOf2022-03-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="AsOf2022-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-03-31_us-gaap_PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="AsOf2021-03-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="AsOf2021-03-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="AsOf2021-03-31_us-gaap_TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="AsOf2021-03-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="AsOf2021-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_us-gaap_PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_us-gaap_TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_us-gaap_PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_us-gaap_TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_us-gaap_PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_us-gaap_TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2021-04-012021-06-30_us-gaap_PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="From2021-04-012021-06-30_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="From2021-04-012021-06-30_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="From2021-04-012021-06-30_us-gaap_TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="From2021-04-012021-06-30_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-06-30_us-gaap_PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-06-30_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-06-30_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-06-30_us-gaap_TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-06-30_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-06-30_us-gaap_PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_us-gaap_TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-06-30_us-gaap_PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-06-30_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-06-30_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-06-30_us-gaap_TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-06-30_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_custom_GeographicDistributionCommercialMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">VTSI:GeographicDistributionCommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_custom_GeographicDistributionGovernmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">VTSI:GeographicDistributionGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_us-gaap_GeographicDistributionForeignMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:GeographicDistributionForeignMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2021-04-012021-06-30_custom_GeographicDistributionCommercialMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">VTSI:GeographicDistributionCommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="From2021-04-012021-06-30_custom_GeographicDistributionGovernmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">VTSI:GeographicDistributionGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="From2021-04-012021-06-30_us-gaap_GeographicDistributionForeignMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:GeographicDistributionForeignMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_GeographicDistributionCommercialMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">VTSI:GeographicDistributionCommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_GeographicDistributionGovernmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">VTSI:GeographicDistributionGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_us-gaap_GeographicDistributionForeignMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:GeographicDistributionForeignMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-06-30_custom_GeographicDistributionCommercialMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">VTSI:GeographicDistributionCommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-06-30_custom_GeographicDistributionGovernmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">VTSI:GeographicDistributionGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-06-30_us-gaap_GeographicDistributionForeignMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:GeographicDistributionForeignMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_GovernmentCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">VTSI:GovernmentCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_CommercialCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">VTSI:CommercialCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_InternationalCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">VTSI:InternationalCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_GovernmentCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">VTSI:GovernmentCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_CommercialCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">VTSI:CommercialCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_InternationalCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">VTSI:InternationalCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_DeferredRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">VTSI:DeferredRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_DeferredRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">VTSI:DeferredRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_WarrantyMember_custom_OneYearOrLessMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">VTSI:OneYearOrLessMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">VTSI:WarrantyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_WarrantyMember_custom_OneYearOrLessMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">VTSI:OneYearOrLessMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">VTSI:WarrantyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_WarrantyMember_custom_LongerThanOneYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">VTSI:LongerThanOneYearMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">VTSI:WarrantyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_WarrantyMember_custom_LongerThanOneYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">VTSI:LongerThanOneYearMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">VTSI:WarrantyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_WarrantyMember_custom_OneYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">VTSI:OneYearMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">VTSI:WarrantyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_WarrantyMember_custom_OneYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">VTSI:OneYearMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">VTSI:WarrantyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_us-gaap_RevenueFromContractWithCustomerProductAndServiceBenchmarkMember_us-gaap_CustomerConcentrationRiskMember_custom_NoCommercialCustomerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">VTSI:NoCommercialCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-06-30_us-gaap_RevenueFromContractWithCustomerProductAndServiceBenchmarkMember_us-gaap_CustomerConcentrationRiskMember_custom_OneFederalAgencyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">VTSI:OneFederalAgencyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_OneStateAgencyMember_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_OneCommercialCustomerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">VTSI:OneCommercialCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">VTSI:OneStateAgencyMember</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-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_custom_OneStateAgencyMember_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">VTSI:OneStateAgencyMember</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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_SparePartsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">VTSI:SparePartsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_SparePartsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">VTSI:SparePartsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_us-gaap_LandMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_LandMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_us-gaap_BuildingAndBuildingImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_BuildingAndBuildingImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_us-gaap_ComputerEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_ComputerEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_FurnitureAndOfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">VTSI:FurnitureAndOfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_FurnitureAndOfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">VTSI:FurnitureAndOfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_us-gaap_MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_STEPEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">VTSI:STEPEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_STEPEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">VTSI:STEPEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_us-gaap_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_us-gaap_ConstructionInProgressMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_ConstructionInProgressMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_us-gaap_PatentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_PatentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_CapitalizedMediaContentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">VTSI:CapitalizedMediaContentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_CapitalizedMediaContentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">VTSI:CapitalizedMediaContentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_AcquiredLeaseIntangibleAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">VTSI:AcquiredLeaseIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_AcquiredLeaseIntangibleAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">VTSI:AcquiredLeaseIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2021-01-012021-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="From2021-08-252021-08-25_custom_PropertyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">VTSI:PropertyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-25</startDate>
            <endDate>2021-08-25</endDate>
        </period>
    </context>
    <context id="From2021-08-252021-08-25_custom_ArizonaBankAndTrustMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">VTSI:ArizonaBankAndTrustMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-25</startDate>
            <endDate>2021-08-25</endDate>
        </period>
    </context>
    <context id="From2021-08-252021-08-25_custom_ArizonaBankAndTrustMember_custom_OneHundredAndNineteenRegularMonthlyPaymentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">VTSI:OneHundredAndNineteenRegularMonthlyPaymentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">VTSI:ArizonaBankAndTrustMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-25</startDate>
            <endDate>2021-08-25</endDate>
        </period>
    </context>
    <context id="From2021-08-252021-08-25_custom_ArizonaBankAndTrustMember_custom_OneIrregularPaymentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">VTSI:OneIrregularPaymentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">VTSI:ArizonaBankAndTrustMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-25</startDate>
            <endDate>2021-08-25</endDate>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_NotesPayableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">VTSI:NotesPayableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_NotesPayableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">VTSI:NotesPayableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_NotesPayableMember36707812">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">VTSI:NotesPayableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_NotesPayableMember36707828">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">VTSI:NotesPayableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_ChiefExecutiveOfficerAndChiefOperatingOfficerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:ChiefExecutiveOfficerAndChiefOperatingOfficerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_BoardMember_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:BoardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-06-30_us-gaap_CommonStockMember_custom_BoardMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:BoardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="From2021-01-012021-06-30_custom_ChiefExecutiveOfficerAndChiefOperatingOfficerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:ChiefExecutiveOfficerAndChiefOperatingOfficerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-06-30_custom_BoardMember_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:BoardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2021-08-31_custom_CoChiefExecutiveOfficerMember_us-gaap_RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:CoChiefExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-08-31</instant>
        </period>
    </context>
    <context id="AsOf2021-08-31_srt_ChiefOperatingOfficerMember_us-gaap_RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefOperatingOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-08-31</instant>
        </period>
    </context>
    <context id="AsOf2022-04-30_custom_CoChiefExecutiveOfficerMember_us-gaap_RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:CoChiefExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-04-30</instant>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_us-gaap_RestrictedStockUnitsRSUMember_custom_JuneThirtyTwoThousandAndTwentyTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">VTSI:JuneThirtyTwoThousandAndTwentyTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_us-gaap_RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_us-gaap_DeferredProfitSharingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis">us-gaap:DeferredProfitSharingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-06-30_us-gaap_DeferredProfitSharingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis">us-gaap:DeferredProfitSharingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-03-31_us-gaap_DeferredProfitSharingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis">us-gaap:DeferredProfitSharingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-03-31_us-gaap_DeferredProfitSharingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis">us-gaap:DeferredProfitSharingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="From2016-10-242016-10-25_us-gaap_CommonStockMember_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2016-10-24</startDate>
            <endDate>2016-10-25</endDate>
        </period>
    </context>
    <context id="From2019-01-082019-01-09_us-gaap_CommonStockMember_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-08</startDate>
            <endDate>2019-01-09</endDate>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_TwoThousandAndSeventeenEquityIncentivePlanMember_custom_ChiefExecutiveOfficerOneMember_us-gaap_RestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:ChiefExecutiveOfficerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">VTSI:TwoThousandAndSeventeenEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_TwoThousandAndSeventeenEquityIncentivePlanMember_custom_ChiefExecutiveOfficerTwoMember_us-gaap_RestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:ChiefExecutiveOfficerTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">VTSI:TwoThousandAndSeventeenEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_TwoThousandAndSeventeenEquityIncentivePlanMember_srt_ChiefOperatingOfficerMember_us-gaap_RestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefOperatingOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">VTSI:TwoThousandAndSeventeenEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_TwoThousandAndSeventeenEquityIncentivePlanMember_custom_ChiefExecutiveOfficerOneMember_us-gaap_RestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:ChiefExecutiveOfficerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">VTSI:TwoThousandAndSeventeenEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_TwoThousandAndSeventeenEquityIncentivePlanMember_srt_ChiefOperatingOfficerMember_us-gaap_RestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefOperatingOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">VTSI:TwoThousandAndSeventeenEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-102022-04-11_custom_Mr.GivensMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:Mr.GivensMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-10</startDate>
            <endDate>2022-04-11</endDate>
        </period>
    </context>
    <context id="AsOf2022-04-11_custom_Mr.GivensMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:Mr.GivensMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-04-11</instant>
        </period>
    </context>
    <context id="From2022-04-102022-04-11_custom_EquityIncentivePlanMember_custom_Mr.GivensMember_us-gaap_RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:Mr.GivensMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">VTSI:EquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-10</startDate>
            <endDate>2022-04-11</endDate>
        </period>
    </context>
    <context id="From2021-03-312021-03-31_custom_SecuritiesPurchaseAgreementMember_custom_InstitutionalInvestorsMember_custom_RegisteredDirectorOfferingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:InstitutionalInvestorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">VTSI:RegisteredDirectorOfferingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">VTSI:SecuritiesPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-03-31</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-03-31_custom_SecuritiesPurchaseAgreementMember_custom_InstitutionalInvestorsMember_custom_RegisteredDirectorOfferingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">VTSI:InstitutionalInvestorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">VTSI:RegisteredDirectorOfferingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">VTSI:SecuritiesPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="From2021-03-312021-03-31_custom_PlacementAgencyAgreementMember_custom_RothCapitalPartnersLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">VTSI:PlacementAgencyAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">VTSI:RothCapitalPartnersLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-03-31</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="From2021-03-312021-03-31_custom_PlacementAgencyAgreementMember_custom_RothCapitalPartnersLLCMember_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">VTSI:PlacementAgencyAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">VTSI:RothCapitalPartnersLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-03-31</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="From2021-04-042021-04-05_custom_OfferingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">VTSI:OfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-04</startDate>
            <endDate>2021-04-05</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_NonQualifiedStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">VTSI:NonQualifiedStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_custom_NonQualifiedStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">VTSI:NonQualifiedStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_NonQualifiedStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">VTSI:NonQualifiedStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-06-30_custom_NonQualifiedStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">VTSI:NonQualifiedStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_NonQualifiedStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">VTSI:NonQualifiedStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-06-30_custom_NonQualifiedStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001085243</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">VTSI:NonQualifiedStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </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:EntityCentralIndexKey contextRef="From2022-01-01to2022-06-30">0001085243</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag contextRef="From2022-01-01to2022-06-30">false</dei:AmendmentFlag>
    <dei:DocumentFiscalPeriodFocus contextRef="From2022-01-01to2022-06-30">Q2</dei:DocumentFiscalPeriodFocus>
    <dei:CurrentFiscalYearEndDate contextRef="From2022-01-01to2022-06-30">--12-31</dei:CurrentFiscalYearEndDate>
    <us-gaap:CommitmentsAndContingencies
      contextRef="AsOf2022-06-30"
      id="xdx2ixbrl0138"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2022-06-30"
      id="xdx2ixbrl0144"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2021-12-31"
      id="xdx2ixbrl0145"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CommonStockValue
      contextRef="AsOf2022-06-30_us-gaap_CommonClassAMember"
      id="xdx2ixbrl0182"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CommonStockValue
      contextRef="AsOf2021-12-31_us-gaap_CommonClassAMember"
      id="xdx2ixbrl0183"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CommonStockValue
      contextRef="AsOf2022-06-30_us-gaap_CommonClassBMember"
      id="xdx2ixbrl0201"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CommonStockValue
      contextRef="AsOf2021-12-31_us-gaap_CommonClassBMember"
      id="xdx2ixbrl0202"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-03-31_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0350"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-03-31_us-gaap_TreasuryStockMember"
      id="xdx2ixbrl0353"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-03-31_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0357"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-04-012022-06-30_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0361"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0362"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-04-012022-06-30_us-gaap_TreasuryStockMember"
      id="xdx2ixbrl0364"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-04-012022-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0365"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2022-04-012022-06-30_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0370"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2022-04-012022-06-30_us-gaap_TreasuryStockMember"
      id="xdx2ixbrl0373"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2022-04-012022-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0374"
      unitRef="USD"
      xsi:nil="true"/>
    <VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices
      contextRef="From2022-04-012022-06-30_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0379"
      unitRef="USD"
      xsi:nil="true"/>
    <VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices
      contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0380"
      unitRef="USD"
      xsi:nil="true"/>
    <VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices
      contextRef="From2022-04-012022-06-30_us-gaap_TreasuryStockMember"
      id="xdx2ixbrl0382"
      unitRef="USD"
      xsi:nil="true"/>
    <VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices
      contextRef="From2022-04-012022-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0383"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-04-012022-06-30_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0386"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0387"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-04-012022-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0388"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-04-012022-06-30_us-gaap_TreasuryStockMember"
      id="xdx2ixbrl0389"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-06-30_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0393"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-06-30_us-gaap_TreasuryStockMember"
      id="xdx2ixbrl0396"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-06-30_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0400"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0404"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_us-gaap_TreasuryStockMember"
      id="xdx2ixbrl0407"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2021-12-31_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0411"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-01-012022-06-30_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0415"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-01-012022-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0416"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-01-012022-06-30_us-gaap_TreasuryStockMember"
      id="xdx2ixbrl0418"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-01-012022-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0419"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2022-01-012022-06-30_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0424"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2022-01-012022-06-30_us-gaap_TreasuryStockMember"
      id="xdx2ixbrl0427"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2022-01-012022-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0428"
      unitRef="USD"
      xsi:nil="true"/>
    <VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices
      contextRef="From2022-01-012022-06-30_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0433"
      unitRef="USD"
      xsi:nil="true"/>
    <VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices
      contextRef="From2022-01-012022-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0434"
      unitRef="USD"
      xsi:nil="true"/>
    <VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices
      contextRef="From2022-01-012022-06-30_us-gaap_TreasuryStockMember"
      id="xdx2ixbrl0436"
      unitRef="USD"
      xsi:nil="true"/>
    <VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices
      contextRef="From2022-01-012022-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0437"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-06-30_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0440"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0441"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0442"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-06-30_us-gaap_TreasuryStockMember"
      id="xdx2ixbrl0443"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-06-30_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0447"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-06-30_us-gaap_TreasuryStockMember"
      id="xdx2ixbrl0450"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-06-30_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0454"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-03-31_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0458"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-03-31_us-gaap_TreasuryStockMember"
      id="xdx2ixbrl0461"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2021-03-31_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0465"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2021-04-012021-06-30_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0469"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2021-04-012021-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0470"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2021-04-012021-06-30_us-gaap_TreasuryStockMember"
      id="xdx2ixbrl0472"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2021-04-012021-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0473"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2021-04-012021-06-30_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0478"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2021-04-012021-06-30_us-gaap_TreasuryStockMember"
      id="xdx2ixbrl0481"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2021-04-012021-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0482"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-04-012021-06-30_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0487"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-04-012021-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0488"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-04-012021-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0489"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-04-012021-06-30_us-gaap_TreasuryStockMember"
      id="xdx2ixbrl0490"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-06-30_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0494"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-06-30_us-gaap_TreasuryStockMember"
      id="xdx2ixbrl0497"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2021-06-30_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0501"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2020-12-31_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0505"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2020-12-31_us-gaap_TreasuryStockMember"
      id="xdx2ixbrl0508"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2020-12-31_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0512"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2021-01-012021-06-30_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0516"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2021-01-012021-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0517"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2021-01-012021-06-30_us-gaap_TreasuryStockMember"
      id="xdx2ixbrl0519"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2021-01-012021-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0520"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2021-01-012021-06-30_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0525"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2021-01-012021-06-30_us-gaap_TreasuryStockMember"
      id="xdx2ixbrl0528"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2021-01-012021-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0529"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-01-012021-06-30_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0534"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-01-012021-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0535"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-01-012021-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0536"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-01-012021-06-30_us-gaap_TreasuryStockMember"
      id="xdx2ixbrl0537"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-01-012021-06-30_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0541"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-01-012021-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0542"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-01-012021-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0543"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-01-012021-06-30_us-gaap_TreasuryStockMember"
      id="xdx2ixbrl0544"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-06-30_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0548"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-06-30_us-gaap_TreasuryStockMember"
      id="xdx2ixbrl0551"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2021-06-30_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0555"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensation
      contextRef="From2021-01-012021-06-30"
      id="xdx2ixbrl0575"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:IssuanceOfStockAndWarrantsForServicesOrClaims
      contextRef="From2021-01-012021-06-30"
      id="xdx2ixbrl0578"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="From2021-01-012021-06-30"
      id="xdx2ixbrl0632"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProceedsFromIssuanceInitialPublicOffering
      contextRef="From2022-01-01to2022-06-30"
      id="xdx2ixbrl0634"
      unitRef="USD"
      xsi:nil="true"/>
    <VTSI:ConversionOfInventoryToPropertyAndEquipment
      contextRef="From2021-01-012021-06-30"
      id="xdx2ixbrl0665"
      unitRef="USD"
      xsi:nil="true"/>
    <VTSI:CustomizedSoftwareAndCustomizedContentScenarios
      contextRef="From2022-04-012022-06-30_custom_GeographicDistributionCommercialMember"
      id="xdx2ixbrl0713"
      unitRef="USD"
      xsi:nil="true"/>
    <VTSI:CustomizedSoftwareAndCustomizedContentScenarios
      contextRef="From2021-04-012021-06-30_custom_GeographicDistributionCommercialMember"
      id="xdx2ixbrl0721"
      unitRef="USD"
      xsi:nil="true"/>
    <VTSI:InstallationAndTraining
      contextRef="From2021-04-012021-06-30_us-gaap_GeographicDistributionForeignMember"
      id="xdx2ixbrl0741"
      unitRef="USD"
      xsi:nil="true"/>
    <VTSI:LicensingAndRoyaltiesRevenue
      contextRef="From2022-04-012022-06-30_custom_GeographicDistributionCommercialMember"
      id="xdx2ixbrl0745"
      unitRef="USD"
      xsi:nil="true"/>
    <VTSI:LicensingAndRoyaltiesRevenue
      contextRef="From2022-04-012022-06-30_custom_GeographicDistributionGovernmentMember"
      id="xdx2ixbrl0747"
      unitRef="USD"
      xsi:nil="true"/>
    <VTSI:LicensingAndRoyaltiesRevenue
      contextRef="From2022-04-012022-06-30_us-gaap_GeographicDistributionForeignMember"
      id="xdx2ixbrl0749"
      unitRef="USD"
      xsi:nil="true"/>
    <VTSI:LicensingAndRoyaltiesRevenue
      contextRef="From2022-04-012022-06-30"
      id="xdx2ixbrl0751"
      unitRef="USD"
      xsi:nil="true"/>
    <VTSI:LicensingAndRoyaltiesRevenue
      contextRef="From2021-04-012021-06-30_custom_GeographicDistributionGovernmentMember"
      id="xdx2ixbrl0755"
      unitRef="USD"
      xsi:nil="true"/>
    <VTSI:LicensingAndRoyaltiesRevenue
      contextRef="From2021-04-012021-06-30_us-gaap_GeographicDistributionForeignMember"
      id="xdx2ixbrl0757"
      unitRef="USD"
      xsi:nil="true"/>
    <VTSI:CustomizedSoftwareAndCustomizedContentScenarios
      contextRef="From2022-01-012022-06-30_custom_GeographicDistributionCommercialMember"
      id="xdx2ixbrl0809"
      unitRef="USD"
      xsi:nil="true"/>
    <VTSI:CustomizedSoftwareAndCustomizedContentScenarios
      contextRef="From2021-01-012021-06-30_custom_GeographicDistributionCommercialMember"
      id="xdx2ixbrl0817"
      unitRef="USD"
      xsi:nil="true"/>
    <VTSI:LicensingAndRoyaltiesRevenue
      contextRef="From2022-01-012022-06-30_custom_GeographicDistributionCommercialMember"
      id="xdx2ixbrl0841"
      unitRef="USD"
      xsi:nil="true"/>
    <VTSI:LicensingAndRoyaltiesRevenue
      contextRef="From2022-01-012022-06-30_custom_GeographicDistributionGovernmentMember"
      id="xdx2ixbrl0843"
      unitRef="USD"
      xsi:nil="true"/>
    <VTSI:LicensingAndRoyaltiesRevenue
      contextRef="From2022-01-012022-06-30_us-gaap_GeographicDistributionForeignMember"
      id="xdx2ixbrl0845"
      unitRef="USD"
      xsi:nil="true"/>
    <VTSI:LicensingAndRoyaltiesRevenue
      contextRef="From2022-01-01to2022-06-30"
      id="xdx2ixbrl0847"
      unitRef="USD"
      xsi:nil="true"/>
    <VTSI:LicensingAndRoyaltiesRevenue
      contextRef="From2021-01-012021-06-30_custom_GeographicDistributionGovernmentMember"
      id="xdx2ixbrl0851"
      unitRef="USD"
      xsi:nil="true"/>
    <VTSI:LicensingAndRoyaltiesRevenue
      contextRef="From2021-01-012021-06-30_us-gaap_GeographicDistributionForeignMember"
      id="xdx2ixbrl0853"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AccruedEmployeeBenefitsCurrent
      contextRef="AsOf2022-06-30"
      id="xdx2ixbrl1136"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2022-01-012022-06-30_custom_NonQualifiedStockOptionMember"
      id="xdx2ixbrl1246"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2022-01-012022-06-30_custom_NonQualifiedStockOptionMember"
      id="xdx2ixbrl1248"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2021-01-012021-06-30_custom_NonQualifiedStockOptionMember"
      id="xdx2ixbrl1250"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2021-01-012021-06-30_custom_NonQualifiedStockOptionMember"
      id="xdx2ixbrl1252"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="From2022-01-012022-06-30_custom_NonQualifiedStockOptionMember"
      id="xdx2ixbrl1270"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="From2022-01-012022-06-30_custom_NonQualifiedStockOptionMember"
      id="xdx2ixbrl1272"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="From2021-01-012021-06-30_custom_NonQualifiedStockOptionMember"
      id="xdx2ixbrl1274"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="From2021-01-012021-06-30_custom_NonQualifiedStockOptionMember"
      id="xdx2ixbrl1276"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <dei:DocumentType contextRef="From2022-01-01to2022-06-30">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport contextRef="From2022-01-01to2022-06-30">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate contextRef="From2022-01-01to2022-06-30">2022-06-30</dei:DocumentPeriodEndDate>
    <dei:DocumentFiscalYearFocus contextRef="From2022-01-01to2022-06-30">2022</dei:DocumentFiscalYearFocus>
    <dei:DocumentTransitionReport contextRef="From2022-01-01to2022-06-30">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="From2022-01-01to2022-06-30">001-38420</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="From2022-01-01to2022-06-30">VIRTRA, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="From2022-01-01to2022-06-30">NV</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="From2022-01-01to2022-06-30">93-1207631</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="From2022-01-01to2022-06-30">295     E. Corporate Place</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="From2022-01-01to2022-06-30">Chandler</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="From2022-01-01to2022-06-30">AZ</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="From2022-01-01to2022-06-30">85225</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="From2022-01-01to2022-06-30">(480)</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="From2022-01-01to2022-06-30">968-1488</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="From2022-01-01to2022-06-30">Common     Stock, $0.0001 par value</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="From2022-01-01to2022-06-30">VTSI</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="From2022-01-01to2022-06-30">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus contextRef="From2022-01-01to2022-06-30">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="From2022-01-01to2022-06-30">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="From2022-01-01to2022-06-30">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="From2022-01-01to2022-06-30">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="From2022-01-01to2022-06-30">true</dei:EntityEmergingGrowthCompany>
    <dei:EntityExTransitionPeriod contextRef="From2022-01-01to2022-06-30">true</dei:EntityExTransitionPeriod>
    <dei:EntityShellCompany contextRef="From2022-01-01to2022-06-30">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding contextRef="AsOf2022-08-11" decimals="INF" unitRef="Shares">10876945</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">15016233</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">19708565</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AccountsReceivableNetCurrent contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">6388087</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">3896739</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">8831786</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">5014924</us-gaap:InventoryNet>
    <us-gaap:UnbilledReceivablesCurrent contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">4820051</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:UnbilledReceivablesCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">3946446</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">848759</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">940887</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">35904916</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">33507561</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">14185424</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">12864766</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">623648</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">784306</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">579963</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">535079</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:DepositsAssetsNoncurrent contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">35691</us-gaap:DepositsAssetsNoncurrent>
    <us-gaap:DepositsAssetsNoncurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">19712</us-gaap:DepositsAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">376461</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">189734</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:DeferredIncomeTaxAssetsNet contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">1418723</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">1674234</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:AssetsNoncurrent contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">17219910</us-gaap:AssetsNoncurrent>
    <us-gaap:AssetsNoncurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">16067831</us-gaap:AssetsNoncurrent>
    <us-gaap:Assets contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">53124826</us-gaap:Assets>
    <us-gaap:Assets contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">49575392</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">1458968</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">789394</us-gaap:AccountsPayableCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">1229404</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">1062078</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">1270086</us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">991744</us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent>
    <us-gaap:NotesPayableCurrent contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">233673</us-gaap:NotesPayableCurrent>
    <us-gaap:NotesPayableCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">236291</us-gaap:NotesPayableCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">361403</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">347772</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">4373173</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">4135565</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">8926707</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">7562844</us-gaap:LiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">2679248</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">1992625</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:LongTermNotesPayable contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">8165838</us-gaap:LongTermNotesPayable>
    <us-gaap:LongTermNotesPayable contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">8280395</us-gaap:LongTermNotesPayable>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">321217</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">505383</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">5436</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">5436</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">11171739</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">10783839</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:Liabilities contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">20098446</us-gaap:Liabilities>
    <us-gaap:Liabilities contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">18346683</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2022-06-30"
      decimals="INF"
      unitRef="USDPShares">0.0001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2021-12-31"
      decimals="INF"
      unitRef="USDPShares">0.0001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized contextRef="AsOf2022-06-30" decimals="INF" unitRef="Shares">2500000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized contextRef="AsOf2021-12-31" decimals="INF" unitRef="Shares">2500000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued contextRef="AsOf2022-06-30" decimals="INF" unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding contextRef="AsOf2022-06-30" decimals="INF" unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued contextRef="AsOf2021-12-31" decimals="INF" unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding contextRef="AsOf2021-12-31" decimals="INF" unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2022-06-30"
      decimals="INF"
      unitRef="USDPShares">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2021-12-31"
      decimals="INF"
      unitRef="USDPShares">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized contextRef="AsOf2022-06-30" decimals="INF" unitRef="Shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized contextRef="AsOf2021-12-31" decimals="INF" unitRef="Shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued contextRef="AsOf2022-06-30" decimals="INF" unitRef="Shares">10876945</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding contextRef="AsOf2022-06-30" decimals="INF" unitRef="Shares">10876945</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued contextRef="AsOf2021-12-31" decimals="INF" unitRef="Shares">10807130</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding contextRef="AsOf2021-12-31" decimals="INF" unitRef="Shares">10807130</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">1087</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">1081</us-gaap:CommonStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2022-06-30_us-gaap_CommonClassAMember"
      decimals="INF"
      unitRef="USDPShares">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2021-12-31_us-gaap_CommonClassAMember"
      decimals="INF"
      unitRef="USDPShares">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2022-06-30_us-gaap_CommonClassAMember"
      decimals="INF"
      unitRef="Shares">2500000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2021-12-31_us-gaap_CommonClassAMember"
      decimals="INF"
      unitRef="Shares">2500000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2022-06-30_us-gaap_CommonClassAMember"
      decimals="INF"
      unitRef="Shares">0</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2022-06-30_us-gaap_CommonClassAMember"
      decimals="INF"
      unitRef="Shares">0</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2021-12-31_us-gaap_CommonClassAMember"
      decimals="INF"
      unitRef="Shares">0</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2021-12-31_us-gaap_CommonClassAMember"
      decimals="INF"
      unitRef="Shares">0</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2022-06-30_us-gaap_CommonClassBMember"
      decimals="INF"
      unitRef="USDPShares">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2021-12-31_us-gaap_CommonClassBMember"
      decimals="INF"
      unitRef="USDPShares">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2022-06-30_us-gaap_CommonClassBMember"
      decimals="INF"
      unitRef="Shares">7500000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2021-12-31_us-gaap_CommonClassBMember"
      decimals="INF"
      unitRef="Shares">7500000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2022-06-30_us-gaap_CommonClassBMember"
      decimals="INF"
      unitRef="Shares">0</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2022-06-30_us-gaap_CommonClassBMember"
      decimals="INF"
      unitRef="Shares">0</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2021-12-31_us-gaap_CommonClassBMember"
      decimals="INF"
      unitRef="Shares">0</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2021-12-31_us-gaap_CommonClassBMember"
      decimals="INF"
      unitRef="Shares">0</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">1087</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">1081</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">31356608</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">30923391</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">1668685</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">304237</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">33026380</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">31228709</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">53124826</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">49575392</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-04-012022-06-30_custom_NetSalesMember"
      decimals="0"
      unitRef="USD">7997383</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2021-04-012021-06-30_custom_NetSalesMember"
      decimals="0"
      unitRef="USD">5255192</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-06-30_custom_NetSalesMember"
      decimals="0"
      unitRef="USD">14750611</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2021-01-012021-06-30_custom_NetSalesMember"
      decimals="0"
      unitRef="USD">9697101</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">7997383</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2021-04-012021-06-30"
      decimals="0"
      unitRef="USD">5255192</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">14750611</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">9697101</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">3253651</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2021-04-012021-06-30"
      decimals="0"
      unitRef="USD">2120492</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">6319789</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">3993896</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">4743732</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2021-04-012021-06-30"
      decimals="0"
      unitRef="USD">3134700</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">8430822</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">5703205</us-gaap:GrossProfit>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">3085051</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="From2021-04-012021-06-30"
      decimals="0"
      unitRef="USD">2002612</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">5381443</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">3712845</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">617058</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2021-04-012021-06-30"
      decimals="0"
      unitRef="USD">311320</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">1296453</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">605537</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:OperatingExpenses
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">3702109</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="From2021-04-012021-06-30"
      decimals="0"
      unitRef="USD">2313932</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">6677896</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">4318382</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">1041623</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2021-04-012021-06-30"
      decimals="0"
      unitRef="USD">820768</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">1752926</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">1384823</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncome
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">57056</us-gaap:OtherNonoperatingIncome>
    <us-gaap:OtherNonoperatingIncome
      contextRef="From2021-04-012021-06-30"
      decimals="0"
      unitRef="USD">34379</us-gaap:OtherNonoperatingIncome>
    <us-gaap:OtherNonoperatingIncome
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">111379</us-gaap:OtherNonoperatingIncome>
    <us-gaap:OtherNonoperatingIncome
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">50758</us-gaap:OtherNonoperatingIncome>
    <us-gaap:OtherNonoperatingExpense
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">64621</us-gaap:OtherNonoperatingExpense>
    <us-gaap:OtherNonoperatingExpense
      contextRef="From2021-04-012021-06-30"
      decimals="0"
      unitRef="USD">32608</us-gaap:OtherNonoperatingExpense>
    <us-gaap:OtherNonoperatingExpense
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">129173</us-gaap:OtherNonoperatingExpense>
    <us-gaap:OtherNonoperatingExpense
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">35042</us-gaap:OtherNonoperatingExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">-7565</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="From2021-04-012021-06-30"
      decimals="0"
      unitRef="USD">1771</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">-17794</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">15716</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">1034058</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2021-04-012021-06-30"
      decimals="0"
      unitRef="USD">822539</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">1735132</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">1400539</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">246684</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2021-04-012021-06-30"
      decimals="0"
      unitRef="USD">293180</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">370684</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">216017</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">787374</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-04-012021-06-30"
      decimals="0"
      unitRef="USD">529359</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">1364448</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">1184522</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-04-012022-06-30"
      decimals="INF"
      unitRef="USDPShares">0.07</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2021-04-012021-06-30"
      decimals="INF"
      unitRef="USDPShares">0.05</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-01-01to2022-06-30"
      decimals="INF"
      unitRef="USDPShares">0.13</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2021-01-012021-06-30"
      decimals="INF"
      unitRef="USDPShares">0.13</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2022-04-012022-06-30"
      decimals="INF"
      unitRef="USDPShares">0.07</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2021-04-012021-06-30"
      decimals="INF"
      unitRef="USDPShares">0.05</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2022-01-01to2022-06-30"
      decimals="INF"
      unitRef="USDPShares">0.13</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2021-01-012021-06-30"
      decimals="INF"
      unitRef="USDPShares">0.13</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-04-012022-06-30"
      decimals="INF"
      unitRef="Shares">10866775</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2021-04-012021-06-30"
      decimals="INF"
      unitRef="Shares">10644363</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-01-01to2022-06-30"
      decimals="INF"
      unitRef="Shares">10837186</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2021-01-012021-06-30"
      decimals="INF"
      unitRef="Shares">9209808</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2022-04-012022-06-30"
      decimals="INF"
      unitRef="Shares">10892302</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2021-04-012021-06-30"
      decimals="INF"
      unitRef="Shares">10693238</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2022-01-01to2022-06-30"
      decimals="INF"
      unitRef="Shares">10867667</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2021-01-012021-06-30"
      decimals="INF"
      unitRef="Shares">9209509</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">10809630</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-03-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">1081</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">30957616</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-03-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">881311</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2022-03-31" decimals="0" unitRef="USD">31840008</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">2500</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-04-012022-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">4750</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">4750</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">64815</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">6</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2022-04-012022-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">349995</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">350001</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices
      contextRef="From2022-04-012022-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">44247</VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices>
    <VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">44247</VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-04-012022-06-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">787374</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">787374</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">10876945</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-06-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">1087</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">31356608</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-06-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">1668685</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">33026380</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2021-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">10807130</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">1081</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">30923391</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">304237</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">31228709</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2022-01-012022-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">5000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-01-012022-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">12725</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">12725</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="From2022-01-012022-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">64815</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2022-01-012022-06-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">6</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2022-01-012022-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">349995</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">350001</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices
      contextRef="From2022-01-012022-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">70497</VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices>
    <VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">70497</VTSI:AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-06-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">1364448</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">1364448</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">10876945</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-06-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">1087</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">31356608</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-06-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">1668685</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">33026380</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2021-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">7777530</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-03-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">778</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">13897280</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-03-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">-1580689</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2021-03-31" decimals="0" unitRef="USD">12317369</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2021-04-012021-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">2500</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2021-04-012021-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">2450</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2021-04-012021-06-30"
      decimals="0"
      unitRef="USD">2450</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2021-04-012021-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">3000000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2021-04-012021-06-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">300</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2021-04-012021-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">16794700</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2021-04-012021-06-30"
      decimals="0"
      unitRef="USD">16795000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-04-012021-06-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">529359</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-04-012021-06-30"
      decimals="0"
      unitRef="USD">529359</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2021-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">10780030</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-06-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">1078</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">30694430</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-06-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">-1051330</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2021-06-30" decimals="0" unitRef="USD">29644178</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2020-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">7775030</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2020-12-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">778</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2020-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">13893660</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2020-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">-2235852</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">11658586</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2021-01-012021-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">5000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2021-01-012021-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">6070</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">6070</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2021-01-012021-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">3000000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2021-01-012021-06-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">300</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2021-01-012021-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">16794700</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">16795000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-01-012021-06-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">1184522</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">1184522</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-01-012021-06-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">1184522</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">1184522</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2021-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">10780030</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-06-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">1078</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">30694430</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-06-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">-1051330</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2021-06-30" decimals="0" unitRef="USD">29644178</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">1364448</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">1184522</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">446688</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">201156</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">160658</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">153299</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:ShareBasedCompensation
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">70497</us-gaap:ShareBasedCompensation>
    <us-gaap:IssuanceOfStockAndWarrantsForServicesOrClaims
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">350001</us-gaap:IssuanceOfStockAndWarrantsForServicesOrClaims>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">2491348</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">4136335</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">3816862</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">1693598</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">-255511</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">-294113</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredRevenue
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">-873605</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:IncreaseDecreaseInDeferredRevenue
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">1374667</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">-92128</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">353765</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">186727</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">-21148</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInDepositOtherAssets
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">15979</us-gaap:IncreaseDecreaseInDepositOtherAssets>
    <us-gaap:IncreaseDecreaseInDepositOtherAssets
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">-66788</us-gaap:IncreaseDecreaseInDepositOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">1115242</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">933840</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">-170535</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">-157713</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">921613</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">3049784</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">-2778270</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">937906</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">86012</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">92886</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">1725726</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">602009</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">-1811738</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">-694895</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">115049</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceInitialPublicOffering
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">16795000</us-gaap:ProceedsFromIssuanceInitialPublicOffering>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">12725</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">6070</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">-102324</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">16801070</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">-4692332</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">17044081</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">19708565</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">6841984</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">15016233</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="AsOf2021-06-30" decimals="0" unitRef="USD">23886065</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">99035</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">-78096</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">128507</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">5763</us-gaap:InterestPaidNet>
    <VTSI:ConversionOfInventoryToPropertyAndEquipment
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">294016</VTSI:ConversionOfInventoryToPropertyAndEquipment>
    <us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_809_eus-gaap--OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_zNTHWGFGcWVg" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
1. &lt;span id="xdx_820_zq1qjTD5SL49"&gt;Organization and Significant Accounting Policies&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_840_ecustom--OrganizationAndBusinessOperationsPolicyTextBlock_zJaEAkt6qR5f" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86C_zjfJDINFHYyk"&gt;Organization
and Business Operations&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;VirTra,
Inc. (the &#x201c;Company,&#x201d; &#x201c;VirTra,&#x201d; &#x201c;we,&#x201d; &#x201c;us&#x201d; or &#x201c;our&#x201d;), located in Chandler,
Arizona, is a global provider of judgmental use of force training simulators, firearms training simulators and driving simulators for
the law enforcement, military, educational and commercial markets. The Company&#x2019;s patented technologies, software, and scenarios
provide intense training for de-escalation, judgmental use-of-force, marksmanship and related training that mimics real-world situations.
VirTra&#x2019;s mission is to save and improve lives worldwide through practical and highly-effective virtual reality and simulator technology.
The Company sells its products worldwide through a direct sales force and international distribution partners. The original business
started in 1993 as Ferris Productions, Inc. In September 2001, Ferris Productions, Inc. merged with GameCom, Inc. to ultimately become
VirTra, Inc., a Nevada corporation.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
March 2020, a global pandemic was declared by the World Health Organization related to the rapidly growing outbreak of a novel strain
of coronavirus (COVID-19). The pandemic has significantly impacted the economic conditions in the U.S., accelerating during half of March
and April as federal, state and local governments react to the public health crisis, creating significant uncertainties in the U.S. economy.
On March 30, 2020, the Governor for the State of Arizona issued a stay-at-home order which expired on May 15, 2020, upon which Arizona
entered Phase I of reopening. The Company carefully reviewed all rules and regulations of the government orders and determined it met
the requirements of an essential business to remain open. The Company had the majority of its staff begin working remotely in mid-March,
with only essential personnel continue working at the manufacturing and production facilities and currently remains in Arizona&#x2019;s
Phase I of reopening. This situation is rapidly changing and additional impacts to the business may arise that we are not aware of currently.
While the disruption is currently expected to be temporary, there is uncertainty around the duration. The ultimate impact of the pandemic
on the Company&#x2019;s results of operations, financial position, liquidity or capital resources cannot be reasonably estimated at this
time. To date, the COVID-19 restrictions have resulted in reduced customer shipments and customer system installations. These recent
developments are expected to result in lower recognized revenue and possibly lower gross margin when they occur. To date, there have
been no order cancellations; rather, there have only been delays in when orders ship or installations occur and all delayed orders remain
in backlog. Any future impact cannot be reasonably estimated at this time. The Company is no longer investing in Certificates of Deposits
as a precautionary measure to increase its liquid cash position and preserve financial flexibility considering uncertainty in the U.S.
and global markets resulting from COVID-19. Additionally, the Company&#x2019;s stock repurchase program was suspended as a result of interim
rulings for public-company recipients of a PPP loan under the CARES Act. The stock repurchase suspension remained in effect for the duration
of the outstanding PPP loan and continues to remain in effect even though the PPP loan has been forgiven and is no longer outstanding.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Russian-Ukraine conflict is a global concern. The Company does not have any significant direct exposure to Russia or Ukraine through
its operations, employee base, investments, or sanctions. We have no basis to evaluate the possible risks of this conflict.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84F_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_z7zy3Qnknwdi" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86A_zY97D7zYINCh"&gt;Basis
of Presentation&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
unaudited financial statements included herein have been prepared by us without audit pursuant to the rules and regulations of the Securities
and Exchange Commission (&#x201c;SEC&#x201d;) and should be read in conjunction with our audited financial statements for the year ended
December 31, 2021 included in the Company&#x2019;s Annual Report on Form 10-K for the fiscal year ended December 31, 2021 filed with the
SEC on August 2, 2022. Certain information and footnote disclosures normally included in financial statements prepared in accordance
with accounting principles generally accepted in the United States of America (&#x201c;GAAP&#x201d;) have been condensed or omitted as
permitted by the SEC, although we believe the disclosures that are made are adequate to make the information presented herein not misleading.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
accompanying unaudited financial statements reflect, in our opinion, all normal recurring adjustments necessary to present fairly our
financial position at June 30, 2022 and the results of our operations and cash flows for the periods presented. We derived the December
31, 2021 balance sheet data from audited financial statements; however, we did not include all disclosures required by GAAP.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Interim
results are subject to seasonal variations, and the results of operations for the six months ended June 30, 2022 are not necessarily
indicative of the results to be expected for the full year.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_842_eus-gaap--UseOfEstimates_zsgECnsdFsTf" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86E_zwbgXtZSp5U"&gt;Use
of Estimates&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
preparation of financial statements in conformity with GAAP requires management to make estimates that affect the reported amounts of
assets and liabilities and disclosure of contingent assets and liabilities as of the date of the financial statements and the reported
amounts of revenues and expenses during the reporting period. Actual results could differ significantly from those estimates. Significant
accounting estimates in these financial statements include valuation assumptions for share-based payments, allowance for doubtful accounts, inventory reserves, accrual for warranty reserves, the carrying value of long-lived assets and intangible assets,
income tax valuation allowances, and the allocation of the transaction price to the performance
obligations in our contracts with customers.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_843_eus-gaap--RevenueRecognitionPolicyTextBlock_zecMYuNtlmYc" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86F_zNvuZaRv3bNh"&gt;Revenue
Recognition&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company adopted the Financial Accounting Standards Board&#x2019;s (the &#x201c;FASB&#x201d;) Accounting Standards Codification (&#x201c;ASC&#x201d;)
606, Revenue from Contracts with Customer (Topic 606) (&#x201c;ASC 606&#x201d;) on January 1, 2018 and the Company elected to use the modified
retrospective transition method which requires application of ASC 606 to uncompleted contracts at the date of adoption. The adoption
of ASC 606 did not have a material impact on the financial statements.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Under
ASC 606, the Company must identify the contract with a customer, identify the performance obligations in the contract, determine the
transaction price, allocate the transaction price to the performance obligations in the contract, and recognize revenue when (or as)
the Company satisfies a performance obligation. Significant judgment is necessary when making these determinations.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s primary sources of revenue are derived from simulator and accessories sales, training and installation, the sale of customizable
software and the sale of extended service-type warranties. The Company&#x2019;s policy is to typically invoice upon completion of installation
and/or training until such time the performance obligations that have been satisfied are included in unbilled. Sales discounts are presented
in the financial statements as reductions in determining net revenues. Credit sales are recorded as current assets (accounts receivable
and unbilled revenue). Prepaid deposits received at the time of sale and extended warranties purchased are recorded as current and long-term
liabilities (deferred revenue) until earned. The following briefly summarizes the nature of our performance obligations and method of
revenue recognition:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Performance
    Obligation&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Method
    of Recognition&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Simulator
    and accessories&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Upon
    transfer of control&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Installation
    and training&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Upon
    completion or over the period of services being rendered&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Extended
    service-type warranty&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Deferred
    and recognized over the life of the extended warranty&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Customized
    software and content&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Upon
    transfer of control or over the period services are performed depending on the terms of the contract&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Customized
    content scenario&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
    performance obligation is transferred over time (input method using time and materials expanded)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Sales-based
    royalty exchanged for license of intellectual property&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Recognized
    as the performance obligation is satisfied over time &#x2013; which is as the sales occur.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company recognizes revenue upon transfer of control or upon completion of the services for the simulator and accessories; for the installation
and training and customized software performance obligations as the customer has the right and ability to direct the use of these products
and services and the customer obtains substantially all of the remaining benefit from these products and services at that time. Revenue
from certain customized content contracts may be recognized over the period the services are performed based on the terms of the contract.
For the sales-based royalty exchanged for license of intellectual property, the Company recognized revenue as the sales occur over time.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company recognizes revenue on a straight-line basis over the period of services being rendered for the extended service-type warranties
as these warranties represent a performance obligation to &#x201c;stand ready to perform&#x201d; over the duration of the warranties. As
such, the warranty service is performed continuously over the warranty period.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Each
contract states the transaction price. The contracts do not include variable consideration, significant financing components or noncash
consideration. The Company has elected to exclude sales and similar taxes from the measurement of the transaction price. The contract&#x2019;s
transaction price is allocated to the performance obligations based upon their stand-alone selling prices. Discounts to the stand-alone
selling prices, if any, are allocated proportionately to each performance obligation.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_844_ecustom--DisaggregationOfRevenuePolicyTextBlock_znjvUfNmfMI4" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86B_zLoKXFmdrnY3"&gt;Disaggregation
of Revenue&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_893_eus-gaap--DisaggregationOfRevenueTableTextBlock_zIsariXe6LBa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Under
ASC 606, disaggregated revenue from contracts with customers depicts the nature, amount, timing, and uncertainty of revenue and cash
flows affected by economic factors. The Company has evaluated revenues recognized and the following table illustrates the disaggregation
disclosure by customer&#x2019;s location and performance obligation.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Disaggregation
of Revenue&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BB_zwYKlGyBElmj" style="display: none"&gt;Schedule of Disaggregation of Revenues&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"/&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="30" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Three Months ended June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Commercial&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Government&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;International&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Commercial&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Government&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;International&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 20%; text-align: left"&gt;Simulators and accessories&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_98D_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zjTLCRducMRa" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;3,521,100&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_984_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zZr8tM6oJHl4" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;1,422,233&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_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zDplKq28jrT5" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;1,737,301&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_98D_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630_zQNjko2WMMMb" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;6,680,634&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_989_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zTskqGmCXhVf" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;543,890&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_982_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_za7cQ7BifiU5" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;3,503,592&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_989_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z5lkLIk5cFQb" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;106,933&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_985_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630_zHzMLN19PPbf" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;4,154,415&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;Extended service-type warranties&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zuuysX2VShk9" style="text-align: right" title="Simulators and accessories"&gt;30,546&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zelWLOQWiiRh" style="text-align: right" title="Simulators and accessories"&gt;747,878&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zYk1KwnIugdd" style="text-align: right" title="Simulators and accessories"&gt;27,646&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630_z5wKq0pbWgi6" style="text-align: right" title="Simulators and accessories"&gt;806,070&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zIc028d26tl8" style="text-align: right" title="Simulators and accessories"&gt;25,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 id="xdx_982_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_z3aElAjiMXtd" style="text-align: right" title="Simulators and accessories"&gt;673,970&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--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zHqDsFFjpVyc" style="text-align: right" title="Simulators and accessories"&gt;28,965&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--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630_zgduGN9ZmCd" style="text-align: right" title="Simulators and accessories"&gt;728,482&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(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Customized software and content&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--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zdI6i28Rh5O8" style="text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0713"&gt;-&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_98A_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zCz2lafgadC7" style="text-align: right" title="Simulators and accessories"&gt;60,392&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_987_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zGLvo0xQTMl7" style="text-align: right" title="Simulators and accessories"&gt;126,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_986_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20220401__20220630_zXfzFHoHIFM9" style="text-align: right" title="Simulators and accessories"&gt;186,392&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_982_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z0iDalua8uLa" style="text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0721"&gt;-&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_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zvFX1VPeTOjd" style="text-align: right" title="Simulators and accessories"&gt;146,543&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_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zsiWaPY5v6Gi" style="text-align: right" title="Simulators and accessories"&gt;21,170&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_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20210401__20210630_zVBIs15ofj93" style="text-align: right" title="Simulators and accessories"&gt;167,713&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;Installation and training&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_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zgKfTnIq3u36" style="text-align: right" title="Simulators and accessories"&gt;35,343&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_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zdPGSKOV1vGf" style="text-align: right" title="Simulators and accessories"&gt;249,847&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_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z1cUfY8atsz7" style="text-align: right" title="Simulators and accessories"&gt;39,097&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_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630_zBSs0M93RJP1" style="text-align: right" title="Simulators and accessories"&gt;324,287&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_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zIrpbUVde8Df" style="text-align: right" title="Simulators and accessories"&gt;15,043&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_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zAUqLquwoxtd" style="text-align: right" title="Simulators and accessories"&gt;186,909&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_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zMxyglxfIHRg" style="text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0741"&gt;-&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_989_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630_z3fGubiltAs3" style="text-align: right" title="Simulators and accessories"&gt;201,952&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(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Licensing and royalties&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zotNvXeUFQF7" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0745"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zomPBQLTw6j4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0747"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z4aurUWgRHCi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0749"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630_zr7eT2vfgbwj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0751"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zYnyJqBz5Pt5" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;2,630&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zkYzbb8XgAUb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0755"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zmVAkELxIaV" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0757"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630_zePUOV6b0ohe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;2,630&lt;/td&gt;&lt;td style="padding-bottom: 1.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="padding-bottom: 2.5pt; text-align: left"&gt;Total Revenue&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z2L6068QwXO" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;3,586,989&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zzz72VsbaV8k" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;2,480,350&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zWCi49zG1NDf" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;1,930,044&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_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630_zlg1aTBCnXSj" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;7,997,383&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zIFDiraaYuV1" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;587,110&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_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zZYnIZqZEoWh" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;4,511,014&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zaPqjGEqAw8b" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;157,068&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_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630_zfn4sxTuNYM7" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;5,255,192&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 style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="30" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Six Months ended June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Commercial&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Government&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;International&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Commercial&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Government&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;International&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 20%; text-align: left"&gt;Simulators and accessories&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_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zutlr6kBo8Z1" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;5,101,292&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_981_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_z475SpeWhZFd" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;4,646,791&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_98E_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zxEu68r5Jep3" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;2,643,938&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_98A_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630_z5hypVzDZVe5" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;12,392,021&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_981_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zgei3eb1GAG" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;815,528&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_986_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zn8azzg22IW9" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;5,181,515&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_985_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zUGcGiAdipgb" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;1,184,118&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_98A_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630_zQuggBJhdxck" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;7,181,161&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;Extended service-type warranties&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zMjJlhBuv141" style="text-align: right" title="Simulators and accessories"&gt;62,033&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zDd8MhyfZY06" style="text-align: right" title="Simulators and accessories"&gt;1,478,238&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zYlEJ5URh8Z2" style="text-align: right" title="Simulators and accessories"&gt;45,308&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_982_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630_zk4r6R0YWXPk" style="text-align: right" title="Simulators and accessories"&gt;1,585,579&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zolGWkI0AOt5" style="text-align: right" title="Simulators and accessories"&gt;47,621&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zD72MtM2nKAb" style="text-align: right" title="Simulators and accessories"&gt;1,344,554&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_98F_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zRRXx38FVA2d" style="text-align: right" title="Simulators and accessories"&gt;49,015&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630_zI3Ta6CYYRU3" style="text-align: right" title="Simulators and accessories"&gt;1,441,190&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(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Customized software and content&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_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zY3J3Akm8BB5" style="text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0809"&gt;-&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_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zGW4MAf4KTmd" style="text-align: right" title="Simulators and accessories"&gt;2,106&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_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zg2F2pjitR79" style="text-align: right" title="Simulators and accessories"&gt;209,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_98D_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20220101__20220630_zWX4vYPCdTS1" style="text-align: right" title="Simulators and accessories"&gt;211,106&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_988_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zSik14E2ZTfj" style="text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0817"&gt;-&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_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zD85NlqDDEv" style="text-align: right" title="Simulators and accessories"&gt;613,956&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_982_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zc4eFFe1PpH1" style="text-align: right" title="Simulators and accessories"&gt;73,443&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_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20210101__20210630_zM8YkM2RRc19" style="text-align: right" title="Simulators and accessories"&gt;687,399&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;Installation and training&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_ecustom--InstallationAndTraining_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zPpTgMygdpol" style="text-align: right" title="Simulators and accessories"&gt;47,208&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--InstallationAndTraining_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zXo6mkwmfYlc" style="text-align: right" title="Simulators and accessories"&gt;407,400&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_ecustom--InstallationAndTraining_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z3JhHEYLIwWj" style="text-align: right" title="Simulators and accessories"&gt;107,297&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_982_ecustom--InstallationAndTraining_pp0p0_c20220101__20220630_zE0xkGoUysIf" style="text-align: right" title="Simulators and accessories"&gt;561,905&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_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zyAbWSRsUHvj" style="text-align: right" title="Simulators and accessories"&gt;49,864&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_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zfgBAZnLLkel" style="text-align: right" title="Simulators and accessories"&gt;306,707&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_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zccYWc3OQe74" style="text-align: right" title="Simulators and accessories"&gt;26,350&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_987_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630_zcX0nIxdNKR5" style="text-align: right" title="Simulators and accessories"&gt;382,921&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(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Licensing and royalties&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zOhEY11o8ACl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0841"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zBXVJxXIT4Lf" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0843"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zC9SSX857kK8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0845"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630_zWt9xiOYQ8Yh" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0847"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z3VU3q189QG1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;4,430&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zZciaxILhVFa" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0851"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zIV1OekVlMZf" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0853"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630_zzJMtiIvFemi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;4,430&lt;/td&gt;&lt;td style="padding-bottom: 1.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="padding-bottom: 2.5pt; text-align: left"&gt;Total Revenue&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_ztuBgPgUWdIg" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;5,210,533&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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zbfbVSGiRgVa" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;6,534,535&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_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zMVoctgeIBrb" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;3,005,543&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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630_zK57tbXuQmm8" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;14,750,611&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zGVrHlODfBn1" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;917,443&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zP9RwBZnU862" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;7,446,732&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zHkwmJCBl5W2" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;1,332,926&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630_zwmb9Sjl2Zl8" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;9,697,101&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 style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;For
the six months ended June 30, 2022, governmental customers comprised $&lt;span id="xdx_900_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_zHsMRR8bUA41" title="Revenue"&gt;6,534,535&lt;/span&gt;, or &lt;span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_z9eEzLxsetL9" title="Concentration of credit risk"&gt;44&lt;/span&gt;% of total net sales, commercial customers comprised
$&lt;span id="xdx_90D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zQe9P6TYufUj" title="Revenue"&gt;5,210,533&lt;/span&gt;, or &lt;span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zeJy0PnWcet3" title="Concentration of credit risk"&gt;35&lt;/span&gt;% of total net sales, and international customers comprised $&lt;span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zoSRzBPprKg4" title="Revenue"&gt;3,005,543&lt;/span&gt;, or &lt;span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zx3z2eYeOdGg" title="Concentration of credit risk"&gt;20&lt;/span&gt;% of total net sales. By comparison, for
the six months ended June 30, 2021, governmental customers comprised $&lt;span id="xdx_90E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_z7yF9LMGFhta" title="Revenue"&gt;7,446,732&lt;/span&gt;, or &lt;span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_zCncbpAo498j" title="Concentration of credit risk"&gt;77&lt;/span&gt;% of total net sales, commercial customers comprised
$&lt;span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zzBsAXW2ojp4" title="Revenue"&gt;917,443&lt;/span&gt;, or &lt;span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zLTGLMrUpgUc" title="Concentration of credit risk"&gt;9&lt;/span&gt;% of total net sales, and international customers comprised $&lt;span id="xdx_905_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zJ3J6mqDZwuk" title="Revenue"&gt;1,332,926&lt;/span&gt;, or &lt;span id="xdx_90B_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_z3apCwOGySD4" title="Concentration of credit risk"&gt;14&lt;/span&gt;% of total net sales.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84E_eus-gaap--DepositContractsPolicy_zkb7GfFJdVg4" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86C_z1683k2aAiH2"&gt;Customer
Deposits&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Customer
deposits consist of prepaid deposits received for equipment purchase orders and for Subscription Training Equipment Partnership (&#x201c;STEP&#x201d;)
operating agreements that expire annually. Customer deposits are considered a deferred liability until the completion of the customer&#x2019;s
contract performance obligation. When revenue is recognized, the deposit is applied to customer&#x2019;s receivable balance. Customer
deposits are recorded as a current liability under deferred revenue on the accompanying balance sheet and totalled $&lt;span id="xdx_900_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pp0p0_c20220630__us-gaap--IncomeStatementLocationAxis__custom--DeferredRevenueMember_zuoXi6CG9398" title="Customer deposits, current"&gt;3,212,846&lt;/span&gt; and $&lt;span id="xdx_900_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pp0p0_c20211231__us-gaap--IncomeStatementLocationAxis__custom--DeferredRevenueMember_z4cc6PSeLhVf" title="Customer deposits, current"&gt;2,371,531&lt;/span&gt;
at June 30, 2022 and December 31, 2021, respectively. Changes in deferred revenue amounts related to customer deposits will fluctuate
from year to year based upon the mix of customers required to prepay deposits under the Company&#x2019;s credit policy.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84E_eus-gaap--StandardProductWarrantyPolicy_zKLWBsZQxJF1" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86B_zG59nK5Y0crj"&gt;Warranty&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company warranties its products from manufacturing defects on a limited basis for a period of one year after purchase, but also sells
separately priced extended service-type warranties for periods of up to four years after the expiration of the standard one-year warranty.
During the term of the initial one-year warranty, if the device fails to operate properly from defects in materials and workmanship,
the Company will fix or replace the defective product. Deferred revenue for separately priced extended warranties one year or less totalled
$&lt;span id="xdx_909_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220630__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearOrLessMember_zVsqqR4HWjw6" title="Extended warranties"&gt;1,160,327&lt;/span&gt; and $&lt;span id="xdx_90A_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearOrLessMember_z3okiH8tPzM9" title="Extended warranties"&gt;1,764,034&lt;/span&gt; as of June 30, 2022 and December 31, 2021, respectively. Deferred revenue for separately priced extended warranties
longer than one year totalled $&lt;span id="xdx_900_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220630__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--LongerThanOneYearMember_z1RS7AiSGdPg" title="Extended warranties"&gt;2,311,052&lt;/span&gt; and $&lt;span id="xdx_90F_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--LongerThanOneYearMember_zLtwnMLeY9yf" title="Extended warranties"&gt;1,815,871&lt;/span&gt; as of June 30, 2022 and December 31, 2021, respectively. The accrual for the one-year
manufacturer&#x2019;s warranty liability totalled $&lt;span id="xdx_902_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220630__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearMember_zTq78dY2oQZc" title="Extended warranties"&gt;434,000&lt;/span&gt; and $&lt;span id="xdx_90C_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearMember_zaNPppemWQe6" title="Extended warranties"&gt;384,000&lt;/span&gt; as of June 30, 2022 and December 31, 2021, respectively. During
the six months ended June 30, 2022 and 2021, the Company recognized revenue of $&lt;span id="xdx_903_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pp0p0_c20220101__20220630_zyFo4EpVIKgc" title="Revenue recognized"&gt;916,069&lt;/span&gt; and $&lt;span id="xdx_90D_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pp0p0_c20210101__20210630_zqMhLoylPff8" title="Revenue recognized"&gt;682,842&lt;/span&gt;, respectively, related to the
extended service-type warranties that was amortized from the deferred revenue balance at the beginning of each period. Changes in deferred
revenue amounts related to extended service-type warranties will fluctuate from year to year based upon the average remaining life of
the warranties at the beginning of the period and new extended service-type warranties sold during the period.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_843_eus-gaap--ConcentrationRiskCreditRisk_z2YPoWn779fk" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_863_zBhUqr30Edfk"&gt;Concentration
of Credit Risk and Major Customers and Suppliers&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Financial
instruments that potentially subject the Company to concentrations of credit risk consist of cash and cash equivalents, certificates
of deposit, accounts receivable and notes receivable.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s cash, cash equivalents and certificates of deposit are maintained with financial institutions with high credit standings
and are FDIC insured deposits. The FDIC insures deposits according to the ownership category in which the funds are insured and how the
accounts are titled. The standard deposit insurance coverage limit is $&lt;span id="xdx_906_eus-gaap--CashFDICInsuredAmount_iI_pp0p0_c20220630_zuw1nl4UuIV3" title="FDIC insured amount"&gt;250,000&lt;/span&gt; per depositor, per FDIC-insured bank, per ownership category.
The Company had uninsured cash and cash equivalents of $&lt;span id="xdx_90D_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20220630_zspbxBje0Xz2" title="Uninsured cash and cash equivalents"&gt;14,515,248&lt;/span&gt; and $&lt;span id="xdx_90F_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20211231_zGRz5zM9FOwf" title="Uninsured cash and cash equivalents"&gt;19,207,786&lt;/span&gt; as of June 30, 2022 and December 31, 2021, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Most
sales are to governments that are typically made on credit and the Company generally does not require collateral. Management performs
ongoing credit evaluations of its customers&#x2019; financial condition and maintains an allowance for estimated losses. Historically,
the Company has experienced minimal charges relative to doubtful accounts.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Historically,
the Company primarily sells its products to United States federal and state agencies. For the six months ended June 30, 2022, no single
customer comprised more than &lt;span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerProductAndServiceBenchmarkMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--NoCommercialCustomerMember_zhil1NbJhYub" title="Concentration of credit risk"&gt;10&lt;/span&gt;% of total net sales. By comparison, for the six months ended June 30, 2021, one federal agency comprised
&lt;span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerProductAndServiceBenchmarkMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__custom--OneFederalAgencyMember_zl7a484Bqmw1" title="Concentration of credit risk"&gt;10&lt;/span&gt;% of total net sales.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
of June 30, 2022, one commercial customer comprised &lt;span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__srt--StatementGeographicalAxis__custom--OneStateAgencyMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--OneCommercialCustomerMember_zm9rSHOq3Gz5" title="Concentration of credit risk"&gt;13.7&lt;/span&gt;% of total accounts receivable. By comparison, as of December 31, 2021, the Company
did not have any customer that accounted for more than &lt;span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--StatementGeographicalAxis__custom--OneStateAgencyMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zZOeBhqTn0J4" title="Concentration of credit risk"&gt;10&lt;/span&gt;% of total accounts receivable.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_843_eus-gaap--EarningsPerSharePolicyTextBlock_zXIBLZwPDL6k" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_861_zewpF6jmD1Jl"&gt;Net
Income per Common Share&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89E_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zkF1xMUcl9v6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
net income per common share is computed by dividing net income by the weighted average of common shares outstanding. Diluted net income
per share reflects the potential dilution, using the treasury stock method, that would occur if outstanding stock options and warrants
were exercised. Earnings per share computations are as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B3_zRinQ8eaXwC2"&gt;Schedule
of Earnings Per Share&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"/&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="display: none; 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 id="xdx_49E_20220401__20220630_zKWHJd95PtXf" 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_493_20210401__20210630_zT9dG7G2vhp7" 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_496_20220101__20220630_zxxm8uHft6Nf" 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_49C_20210101__20210630_zwf4tZrluuJf" 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"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Three Months Ended June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Six Months Ended June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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;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_402_eus-gaap--NetIncomeLoss_zhufJXYP7J0i" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 44%; text-align: left"&gt;Net Income&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;787,374&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;529,359&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;1,364,448&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;1,184,522&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_zDB0s6EhixJ5" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Weighted average common stock outstanding&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;10,866,775&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;10,644,363&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;10,837,186&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;9,209,808&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_ecustom--IncrementalCommonSharesAttributableToStockOptions_zVpGDN1sUnZj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Incremental shares from stock options&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;25,527&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;48,875&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;30,481&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(299&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_z4I4U3aNLMx3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Weighted average common stock outstanding diluted&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;10,892,302&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;10,693,238&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;10,867,667&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;9,209,509&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(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Net income per common share and common equivalent shares&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 id="xdx_40F_eus-gaap--EarningsPerShareBasic_z0xkHrRwkDna" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Basic&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.07&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.05&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.13&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.13&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--EarningsPerShareDiluted_ze3Bo7JeoL02" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Diluted&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.07&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.05&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.13&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.13&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_8A7_z4sedqiGILw5" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock>
    <VTSI:OrganizationAndBusinessOperationsPolicyTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_840_ecustom--OrganizationAndBusinessOperationsPolicyTextBlock_zJaEAkt6qR5f" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86C_zjfJDINFHYyk"&gt;Organization
and Business Operations&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;VirTra,
Inc. (the &#x201c;Company,&#x201d; &#x201c;VirTra,&#x201d; &#x201c;we,&#x201d; &#x201c;us&#x201d; or &#x201c;our&#x201d;), located in Chandler,
Arizona, is a global provider of judgmental use of force training simulators, firearms training simulators and driving simulators for
the law enforcement, military, educational and commercial markets. The Company&#x2019;s patented technologies, software, and scenarios
provide intense training for de-escalation, judgmental use-of-force, marksmanship and related training that mimics real-world situations.
VirTra&#x2019;s mission is to save and improve lives worldwide through practical and highly-effective virtual reality and simulator technology.
The Company sells its products worldwide through a direct sales force and international distribution partners. The original business
started in 1993 as Ferris Productions, Inc. In September 2001, Ferris Productions, Inc. merged with GameCom, Inc. to ultimately become
VirTra, Inc., a Nevada corporation.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
March 2020, a global pandemic was declared by the World Health Organization related to the rapidly growing outbreak of a novel strain
of coronavirus (COVID-19). The pandemic has significantly impacted the economic conditions in the U.S., accelerating during half of March
and April as federal, state and local governments react to the public health crisis, creating significant uncertainties in the U.S. economy.
On March 30, 2020, the Governor for the State of Arizona issued a stay-at-home order which expired on May 15, 2020, upon which Arizona
entered Phase I of reopening. The Company carefully reviewed all rules and regulations of the government orders and determined it met
the requirements of an essential business to remain open. The Company had the majority of its staff begin working remotely in mid-March,
with only essential personnel continue working at the manufacturing and production facilities and currently remains in Arizona&#x2019;s
Phase I of reopening. This situation is rapidly changing and additional impacts to the business may arise that we are not aware of currently.
While the disruption is currently expected to be temporary, there is uncertainty around the duration. The ultimate impact of the pandemic
on the Company&#x2019;s results of operations, financial position, liquidity or capital resources cannot be reasonably estimated at this
time. To date, the COVID-19 restrictions have resulted in reduced customer shipments and customer system installations. These recent
developments are expected to result in lower recognized revenue and possibly lower gross margin when they occur. To date, there have
been no order cancellations; rather, there have only been delays in when orders ship or installations occur and all delayed orders remain
in backlog. Any future impact cannot be reasonably estimated at this time. The Company is no longer investing in Certificates of Deposits
as a precautionary measure to increase its liquid cash position and preserve financial flexibility considering uncertainty in the U.S.
and global markets resulting from COVID-19. Additionally, the Company&#x2019;s stock repurchase program was suspended as a result of interim
rulings for public-company recipients of a PPP loan under the CARES Act. The stock repurchase suspension remained in effect for the duration
of the outstanding PPP loan and continues to remain in effect even though the PPP loan has been forgiven and is no longer outstanding.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Russian-Ukraine conflict is a global concern. The Company does not have any significant direct exposure to Russia or Ukraine through
its operations, employee base, investments, or sanctions. We have no basis to evaluate the possible risks of this conflict.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

</VTSI:OrganizationAndBusinessOperationsPolicyTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_84F_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_z7zy3Qnknwdi" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86A_zY97D7zYINCh"&gt;Basis
of Presentation&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
unaudited financial statements included herein have been prepared by us without audit pursuant to the rules and regulations of the Securities
and Exchange Commission (&#x201c;SEC&#x201d;) and should be read in conjunction with our audited financial statements for the year ended
December 31, 2021 included in the Company&#x2019;s Annual Report on Form 10-K for the fiscal year ended December 31, 2021 filed with the
SEC on August 2, 2022. Certain information and footnote disclosures normally included in financial statements prepared in accordance
with accounting principles generally accepted in the United States of America (&#x201c;GAAP&#x201d;) have been condensed or omitted as
permitted by the SEC, although we believe the disclosures that are made are adequate to make the information presented herein not misleading.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
accompanying unaudited financial statements reflect, in our opinion, all normal recurring adjustments necessary to present fairly our
financial position at June 30, 2022 and the results of our operations and cash flows for the periods presented. We derived the December
31, 2021 balance sheet data from audited financial statements; however, we did not include all disclosures required by GAAP.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Interim
results are subject to seasonal variations, and the results of operations for the six months ended June 30, 2022 are not necessarily
indicative of the results to be expected for the full year.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:UseOfEstimates contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_842_eus-gaap--UseOfEstimates_zsgECnsdFsTf" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86E_zwbgXtZSp5U"&gt;Use
of Estimates&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
preparation of financial statements in conformity with GAAP requires management to make estimates that affect the reported amounts of
assets and liabilities and disclosure of contingent assets and liabilities as of the date of the financial statements and the reported
amounts of revenues and expenses during the reporting period. Actual results could differ significantly from those estimates. Significant
accounting estimates in these financial statements include valuation assumptions for share-based payments, allowance for doubtful accounts, inventory reserves, accrual for warranty reserves, the carrying value of long-lived assets and intangible assets,
income tax valuation allowances, and the allocation of the transaction price to the performance
obligations in our contracts with customers.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:UseOfEstimates>
    <us-gaap:RevenueRecognitionPolicyTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_843_eus-gaap--RevenueRecognitionPolicyTextBlock_zecMYuNtlmYc" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86F_zNvuZaRv3bNh"&gt;Revenue
Recognition&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company adopted the Financial Accounting Standards Board&#x2019;s (the &#x201c;FASB&#x201d;) Accounting Standards Codification (&#x201c;ASC&#x201d;)
606, Revenue from Contracts with Customer (Topic 606) (&#x201c;ASC 606&#x201d;) on January 1, 2018 and the Company elected to use the modified
retrospective transition method which requires application of ASC 606 to uncompleted contracts at the date of adoption. The adoption
of ASC 606 did not have a material impact on the financial statements.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Under
ASC 606, the Company must identify the contract with a customer, identify the performance obligations in the contract, determine the
transaction price, allocate the transaction price to the performance obligations in the contract, and recognize revenue when (or as)
the Company satisfies a performance obligation. Significant judgment is necessary when making these determinations.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s primary sources of revenue are derived from simulator and accessories sales, training and installation, the sale of customizable
software and the sale of extended service-type warranties. The Company&#x2019;s policy is to typically invoice upon completion of installation
and/or training until such time the performance obligations that have been satisfied are included in unbilled. Sales discounts are presented
in the financial statements as reductions in determining net revenues. Credit sales are recorded as current assets (accounts receivable
and unbilled revenue). Prepaid deposits received at the time of sale and extended warranties purchased are recorded as current and long-term
liabilities (deferred revenue) until earned. The following briefly summarizes the nature of our performance obligations and method of
revenue recognition:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Performance
    Obligation&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Method
    of Recognition&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Simulator
    and accessories&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Upon
    transfer of control&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Installation
    and training&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Upon
    completion or over the period of services being rendered&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Extended
    service-type warranty&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Deferred
    and recognized over the life of the extended warranty&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Customized
    software and content&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Upon
    transfer of control or over the period services are performed depending on the terms of the contract&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Customized
    content scenario&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
    performance obligation is transferred over time (input method using time and materials expanded)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Sales-based
    royalty exchanged for license of intellectual property&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Recognized
    as the performance obligation is satisfied over time &#x2013; which is as the sales occur.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company recognizes revenue upon transfer of control or upon completion of the services for the simulator and accessories; for the installation
and training and customized software performance obligations as the customer has the right and ability to direct the use of these products
and services and the customer obtains substantially all of the remaining benefit from these products and services at that time. Revenue
from certain customized content contracts may be recognized over the period the services are performed based on the terms of the contract.
For the sales-based royalty exchanged for license of intellectual property, the Company recognized revenue as the sales occur over time.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company recognizes revenue on a straight-line basis over the period of services being rendered for the extended service-type warranties
as these warranties represent a performance obligation to &#x201c;stand ready to perform&#x201d; over the duration of the warranties. As
such, the warranty service is performed continuously over the warranty period.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Each
contract states the transaction price. The contracts do not include variable consideration, significant financing components or noncash
consideration. The Company has elected to exclude sales and similar taxes from the measurement of the transaction price. The contract&#x2019;s
transaction price is allocated to the performance obligations based upon their stand-alone selling prices. Discounts to the stand-alone
selling prices, if any, are allocated proportionately to each performance obligation.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:RevenueRecognitionPolicyTextBlock>
    <VTSI:DisaggregationOfRevenuePolicyTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_844_ecustom--DisaggregationOfRevenuePolicyTextBlock_znjvUfNmfMI4" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86B_zLoKXFmdrnY3"&gt;Disaggregation
of Revenue&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_893_eus-gaap--DisaggregationOfRevenueTableTextBlock_zIsariXe6LBa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Under
ASC 606, disaggregated revenue from contracts with customers depicts the nature, amount, timing, and uncertainty of revenue and cash
flows affected by economic factors. The Company has evaluated revenues recognized and the following table illustrates the disaggregation
disclosure by customer&#x2019;s location and performance obligation.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Disaggregation
of Revenue&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BB_zwYKlGyBElmj" style="display: none"&gt;Schedule of Disaggregation of Revenues&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"/&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="30" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Three Months ended June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Commercial&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Government&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;International&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Commercial&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Government&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;International&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 20%; text-align: left"&gt;Simulators and accessories&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_98D_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zjTLCRducMRa" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;3,521,100&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_984_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zZr8tM6oJHl4" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;1,422,233&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_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zDplKq28jrT5" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;1,737,301&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_98D_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630_zQNjko2WMMMb" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;6,680,634&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_989_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zTskqGmCXhVf" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;543,890&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_982_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_za7cQ7BifiU5" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;3,503,592&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_989_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z5lkLIk5cFQb" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;106,933&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_985_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630_zHzMLN19PPbf" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;4,154,415&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;Extended service-type warranties&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zuuysX2VShk9" style="text-align: right" title="Simulators and accessories"&gt;30,546&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zelWLOQWiiRh" style="text-align: right" title="Simulators and accessories"&gt;747,878&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zYk1KwnIugdd" style="text-align: right" title="Simulators and accessories"&gt;27,646&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630_z5wKq0pbWgi6" style="text-align: right" title="Simulators and accessories"&gt;806,070&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zIc028d26tl8" style="text-align: right" title="Simulators and accessories"&gt;25,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 id="xdx_982_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_z3aElAjiMXtd" style="text-align: right" title="Simulators and accessories"&gt;673,970&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--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zHqDsFFjpVyc" style="text-align: right" title="Simulators and accessories"&gt;28,965&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--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630_zgduGN9ZmCd" style="text-align: right" title="Simulators and accessories"&gt;728,482&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(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Customized software and content&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--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zdI6i28Rh5O8" style="text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0713"&gt;-&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_98A_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zCz2lafgadC7" style="text-align: right" title="Simulators and accessories"&gt;60,392&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_987_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zGLvo0xQTMl7" style="text-align: right" title="Simulators and accessories"&gt;126,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_986_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20220401__20220630_zXfzFHoHIFM9" style="text-align: right" title="Simulators and accessories"&gt;186,392&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_982_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z0iDalua8uLa" style="text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0721"&gt;-&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_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zvFX1VPeTOjd" style="text-align: right" title="Simulators and accessories"&gt;146,543&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_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zsiWaPY5v6Gi" style="text-align: right" title="Simulators and accessories"&gt;21,170&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_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20210401__20210630_zVBIs15ofj93" style="text-align: right" title="Simulators and accessories"&gt;167,713&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;Installation and training&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_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zgKfTnIq3u36" style="text-align: right" title="Simulators and accessories"&gt;35,343&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_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zdPGSKOV1vGf" style="text-align: right" title="Simulators and accessories"&gt;249,847&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_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z1cUfY8atsz7" style="text-align: right" title="Simulators and accessories"&gt;39,097&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_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630_zBSs0M93RJP1" style="text-align: right" title="Simulators and accessories"&gt;324,287&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_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zIrpbUVde8Df" style="text-align: right" title="Simulators and accessories"&gt;15,043&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_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zAUqLquwoxtd" style="text-align: right" title="Simulators and accessories"&gt;186,909&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_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zMxyglxfIHRg" style="text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0741"&gt;-&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_989_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630_z3fGubiltAs3" style="text-align: right" title="Simulators and accessories"&gt;201,952&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(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Licensing and royalties&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zotNvXeUFQF7" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0745"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zomPBQLTw6j4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0747"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z4aurUWgRHCi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0749"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630_zr7eT2vfgbwj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0751"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zYnyJqBz5Pt5" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;2,630&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zkYzbb8XgAUb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0755"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zmVAkELxIaV" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0757"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630_zePUOV6b0ohe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;2,630&lt;/td&gt;&lt;td style="padding-bottom: 1.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="padding-bottom: 2.5pt; text-align: left"&gt;Total Revenue&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z2L6068QwXO" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;3,586,989&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zzz72VsbaV8k" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;2,480,350&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zWCi49zG1NDf" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;1,930,044&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_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630_zlg1aTBCnXSj" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;7,997,383&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zIFDiraaYuV1" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;587,110&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_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zZYnIZqZEoWh" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;4,511,014&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zaPqjGEqAw8b" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;157,068&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_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630_zfn4sxTuNYM7" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;5,255,192&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 style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="30" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Six Months ended June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Commercial&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Government&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;International&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Commercial&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Government&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;International&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 20%; text-align: left"&gt;Simulators and accessories&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_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zutlr6kBo8Z1" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;5,101,292&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_981_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_z475SpeWhZFd" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;4,646,791&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_98E_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zxEu68r5Jep3" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;2,643,938&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_98A_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630_z5hypVzDZVe5" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;12,392,021&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_981_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zgei3eb1GAG" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;815,528&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_986_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zn8azzg22IW9" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;5,181,515&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_985_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zUGcGiAdipgb" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;1,184,118&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_98A_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630_zQuggBJhdxck" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;7,181,161&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;Extended service-type warranties&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zMjJlhBuv141" style="text-align: right" title="Simulators and accessories"&gt;62,033&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zDd8MhyfZY06" style="text-align: right" title="Simulators and accessories"&gt;1,478,238&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zYlEJ5URh8Z2" style="text-align: right" title="Simulators and accessories"&gt;45,308&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_982_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630_zk4r6R0YWXPk" style="text-align: right" title="Simulators and accessories"&gt;1,585,579&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zolGWkI0AOt5" style="text-align: right" title="Simulators and accessories"&gt;47,621&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zD72MtM2nKAb" style="text-align: right" title="Simulators and accessories"&gt;1,344,554&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_98F_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zRRXx38FVA2d" style="text-align: right" title="Simulators and accessories"&gt;49,015&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630_zI3Ta6CYYRU3" style="text-align: right" title="Simulators and accessories"&gt;1,441,190&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(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Customized software and content&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_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zY3J3Akm8BB5" style="text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0809"&gt;-&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_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zGW4MAf4KTmd" style="text-align: right" title="Simulators and accessories"&gt;2,106&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_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zg2F2pjitR79" style="text-align: right" title="Simulators and accessories"&gt;209,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_98D_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20220101__20220630_zWX4vYPCdTS1" style="text-align: right" title="Simulators and accessories"&gt;211,106&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_988_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zSik14E2ZTfj" style="text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0817"&gt;-&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_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zD85NlqDDEv" style="text-align: right" title="Simulators and accessories"&gt;613,956&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_982_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zc4eFFe1PpH1" style="text-align: right" title="Simulators and accessories"&gt;73,443&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_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20210101__20210630_zM8YkM2RRc19" style="text-align: right" title="Simulators and accessories"&gt;687,399&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;Installation and training&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_ecustom--InstallationAndTraining_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zPpTgMygdpol" style="text-align: right" title="Simulators and accessories"&gt;47,208&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--InstallationAndTraining_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zXo6mkwmfYlc" style="text-align: right" title="Simulators and accessories"&gt;407,400&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_ecustom--InstallationAndTraining_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z3JhHEYLIwWj" style="text-align: right" title="Simulators and accessories"&gt;107,297&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_982_ecustom--InstallationAndTraining_pp0p0_c20220101__20220630_zE0xkGoUysIf" style="text-align: right" title="Simulators and accessories"&gt;561,905&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_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zyAbWSRsUHvj" style="text-align: right" title="Simulators and accessories"&gt;49,864&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_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zfgBAZnLLkel" style="text-align: right" title="Simulators and accessories"&gt;306,707&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_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zccYWc3OQe74" style="text-align: right" title="Simulators and accessories"&gt;26,350&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_987_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630_zcX0nIxdNKR5" style="text-align: right" title="Simulators and accessories"&gt;382,921&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(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Licensing and royalties&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zOhEY11o8ACl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0841"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zBXVJxXIT4Lf" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0843"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zC9SSX857kK8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0845"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630_zWt9xiOYQ8Yh" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0847"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z3VU3q189QG1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;4,430&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zZciaxILhVFa" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0851"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zIV1OekVlMZf" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0853"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630_zzJMtiIvFemi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;4,430&lt;/td&gt;&lt;td style="padding-bottom: 1.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="padding-bottom: 2.5pt; text-align: left"&gt;Total Revenue&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_ztuBgPgUWdIg" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;5,210,533&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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zbfbVSGiRgVa" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;6,534,535&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_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zMVoctgeIBrb" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;3,005,543&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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630_zK57tbXuQmm8" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;14,750,611&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zGVrHlODfBn1" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;917,443&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zP9RwBZnU862" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;7,446,732&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zHkwmJCBl5W2" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;1,332,926&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630_zwmb9Sjl2Zl8" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;9,697,101&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 style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;For
the six months ended June 30, 2022, governmental customers comprised $&lt;span id="xdx_900_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_zHsMRR8bUA41" title="Revenue"&gt;6,534,535&lt;/span&gt;, or &lt;span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_z9eEzLxsetL9" title="Concentration of credit risk"&gt;44&lt;/span&gt;% of total net sales, commercial customers comprised
$&lt;span id="xdx_90D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zQe9P6TYufUj" title="Revenue"&gt;5,210,533&lt;/span&gt;, or &lt;span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zeJy0PnWcet3" title="Concentration of credit risk"&gt;35&lt;/span&gt;% of total net sales, and international customers comprised $&lt;span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zoSRzBPprKg4" title="Revenue"&gt;3,005,543&lt;/span&gt;, or &lt;span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zx3z2eYeOdGg" title="Concentration of credit risk"&gt;20&lt;/span&gt;% of total net sales. By comparison, for
the six months ended June 30, 2021, governmental customers comprised $&lt;span id="xdx_90E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_z7yF9LMGFhta" title="Revenue"&gt;7,446,732&lt;/span&gt;, or &lt;span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_zCncbpAo498j" title="Concentration of credit risk"&gt;77&lt;/span&gt;% of total net sales, commercial customers comprised
$&lt;span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zzBsAXW2ojp4" title="Revenue"&gt;917,443&lt;/span&gt;, or &lt;span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zLTGLMrUpgUc" title="Concentration of credit risk"&gt;9&lt;/span&gt;% of total net sales, and international customers comprised $&lt;span id="xdx_905_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zJ3J6mqDZwuk" title="Revenue"&gt;1,332,926&lt;/span&gt;, or &lt;span id="xdx_90B_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_z3apCwOGySD4" title="Concentration of credit risk"&gt;14&lt;/span&gt;% of total net sales.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84E_eus-gaap--DepositContractsPolicy_zkb7GfFJdVg4" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86C_z1683k2aAiH2"&gt;Customer
Deposits&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Customer
deposits consist of prepaid deposits received for equipment purchase orders and for Subscription Training Equipment Partnership (&#x201c;STEP&#x201d;)
operating agreements that expire annually. Customer deposits are considered a deferred liability until the completion of the customer&#x2019;s
contract performance obligation. When revenue is recognized, the deposit is applied to customer&#x2019;s receivable balance. Customer
deposits are recorded as a current liability under deferred revenue on the accompanying balance sheet and totalled $&lt;span id="xdx_900_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pp0p0_c20220630__us-gaap--IncomeStatementLocationAxis__custom--DeferredRevenueMember_zuoXi6CG9398" title="Customer deposits, current"&gt;3,212,846&lt;/span&gt; and $&lt;span id="xdx_900_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pp0p0_c20211231__us-gaap--IncomeStatementLocationAxis__custom--DeferredRevenueMember_z4cc6PSeLhVf" title="Customer deposits, current"&gt;2,371,531&lt;/span&gt;
at June 30, 2022 and December 31, 2021, respectively. Changes in deferred revenue amounts related to customer deposits will fluctuate
from year to year based upon the mix of customers required to prepay deposits under the Company&#x2019;s credit policy.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84E_eus-gaap--StandardProductWarrantyPolicy_zKLWBsZQxJF1" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86B_zG59nK5Y0crj"&gt;Warranty&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company warranties its products from manufacturing defects on a limited basis for a period of one year after purchase, but also sells
separately priced extended service-type warranties for periods of up to four years after the expiration of the standard one-year warranty.
During the term of the initial one-year warranty, if the device fails to operate properly from defects in materials and workmanship,
the Company will fix or replace the defective product. Deferred revenue for separately priced extended warranties one year or less totalled
$&lt;span id="xdx_909_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220630__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearOrLessMember_zVsqqR4HWjw6" title="Extended warranties"&gt;1,160,327&lt;/span&gt; and $&lt;span id="xdx_90A_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearOrLessMember_z3okiH8tPzM9" title="Extended warranties"&gt;1,764,034&lt;/span&gt; as of June 30, 2022 and December 31, 2021, respectively. Deferred revenue for separately priced extended warranties
longer than one year totalled $&lt;span id="xdx_900_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220630__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--LongerThanOneYearMember_z1RS7AiSGdPg" title="Extended warranties"&gt;2,311,052&lt;/span&gt; and $&lt;span id="xdx_90F_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--LongerThanOneYearMember_zLtwnMLeY9yf" title="Extended warranties"&gt;1,815,871&lt;/span&gt; as of June 30, 2022 and December 31, 2021, respectively. The accrual for the one-year
manufacturer&#x2019;s warranty liability totalled $&lt;span id="xdx_902_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220630__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearMember_zTq78dY2oQZc" title="Extended warranties"&gt;434,000&lt;/span&gt; and $&lt;span id="xdx_90C_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearMember_zaNPppemWQe6" title="Extended warranties"&gt;384,000&lt;/span&gt; as of June 30, 2022 and December 31, 2021, respectively. During
the six months ended June 30, 2022 and 2021, the Company recognized revenue of $&lt;span id="xdx_903_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pp0p0_c20220101__20220630_zyFo4EpVIKgc" title="Revenue recognized"&gt;916,069&lt;/span&gt; and $&lt;span id="xdx_90D_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pp0p0_c20210101__20210630_zqMhLoylPff8" title="Revenue recognized"&gt;682,842&lt;/span&gt;, respectively, related to the
extended service-type warranties that was amortized from the deferred revenue balance at the beginning of each period. Changes in deferred
revenue amounts related to extended service-type warranties will fluctuate from year to year based upon the average remaining life of
the warranties at the beginning of the period and new extended service-type warranties sold during the period.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_843_eus-gaap--ConcentrationRiskCreditRisk_z2YPoWn779fk" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_863_zBhUqr30Edfk"&gt;Concentration
of Credit Risk and Major Customers and Suppliers&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Financial
instruments that potentially subject the Company to concentrations of credit risk consist of cash and cash equivalents, certificates
of deposit, accounts receivable and notes receivable.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s cash, cash equivalents and certificates of deposit are maintained with financial institutions with high credit standings
and are FDIC insured deposits. The FDIC insures deposits according to the ownership category in which the funds are insured and how the
accounts are titled. The standard deposit insurance coverage limit is $&lt;span id="xdx_906_eus-gaap--CashFDICInsuredAmount_iI_pp0p0_c20220630_zuw1nl4UuIV3" title="FDIC insured amount"&gt;250,000&lt;/span&gt; per depositor, per FDIC-insured bank, per ownership category.
The Company had uninsured cash and cash equivalents of $&lt;span id="xdx_90D_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20220630_zspbxBje0Xz2" title="Uninsured cash and cash equivalents"&gt;14,515,248&lt;/span&gt; and $&lt;span id="xdx_90F_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20211231_zGRz5zM9FOwf" title="Uninsured cash and cash equivalents"&gt;19,207,786&lt;/span&gt; as of June 30, 2022 and December 31, 2021, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Most
sales are to governments that are typically made on credit and the Company generally does not require collateral. Management performs
ongoing credit evaluations of its customers&#x2019; financial condition and maintains an allowance for estimated losses. Historically,
the Company has experienced minimal charges relative to doubtful accounts.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Historically,
the Company primarily sells its products to United States federal and state agencies. For the six months ended June 30, 2022, no single
customer comprised more than &lt;span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerProductAndServiceBenchmarkMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--NoCommercialCustomerMember_zhil1NbJhYub" title="Concentration of credit risk"&gt;10&lt;/span&gt;% of total net sales. By comparison, for the six months ended June 30, 2021, one federal agency comprised
&lt;span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerProductAndServiceBenchmarkMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__custom--OneFederalAgencyMember_zl7a484Bqmw1" title="Concentration of credit risk"&gt;10&lt;/span&gt;% of total net sales.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
of June 30, 2022, one commercial customer comprised &lt;span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__srt--StatementGeographicalAxis__custom--OneStateAgencyMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--OneCommercialCustomerMember_zm9rSHOq3Gz5" title="Concentration of credit risk"&gt;13.7&lt;/span&gt;% of total accounts receivable. By comparison, as of December 31, 2021, the Company
did not have any customer that accounted for more than &lt;span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--StatementGeographicalAxis__custom--OneStateAgencyMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zZOeBhqTn0J4" title="Concentration of credit risk"&gt;10&lt;/span&gt;% of total accounts receivable.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_843_eus-gaap--EarningsPerSharePolicyTextBlock_zXIBLZwPDL6k" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_861_zewpF6jmD1Jl"&gt;Net
Income per Common Share&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89E_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zkF1xMUcl9v6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
net income per common share is computed by dividing net income by the weighted average of common shares outstanding. Diluted net income
per share reflects the potential dilution, using the treasury stock method, that would occur if outstanding stock options and warrants
were exercised. Earnings per share computations are as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B3_zRinQ8eaXwC2"&gt;Schedule
of Earnings Per Share&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"/&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="display: none; 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 id="xdx_49E_20220401__20220630_zKWHJd95PtXf" 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_493_20210401__20210630_zT9dG7G2vhp7" 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_496_20220101__20220630_zxxm8uHft6Nf" 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_49C_20210101__20210630_zwf4tZrluuJf" 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"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Three Months Ended June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Six Months Ended June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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;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_402_eus-gaap--NetIncomeLoss_zhufJXYP7J0i" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 44%; text-align: left"&gt;Net Income&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;787,374&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;529,359&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;1,364,448&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;1,184,522&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_zDB0s6EhixJ5" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Weighted average common stock outstanding&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;10,866,775&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;10,644,363&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;10,837,186&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;9,209,808&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_ecustom--IncrementalCommonSharesAttributableToStockOptions_zVpGDN1sUnZj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Incremental shares from stock options&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;25,527&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;48,875&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;30,481&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(299&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_z4I4U3aNLMx3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Weighted average common stock outstanding diluted&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;10,892,302&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;10,693,238&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;10,867,667&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;9,209,509&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(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Net income per common share and common equivalent shares&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 id="xdx_40F_eus-gaap--EarningsPerShareBasic_z0xkHrRwkDna" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Basic&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.07&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.05&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.13&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.13&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--EarningsPerShareDiluted_ze3Bo7JeoL02" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Diluted&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.07&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.05&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.13&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.13&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_8A7_z4sedqiGILw5" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</VTSI:DisaggregationOfRevenuePolicyTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_893_eus-gaap--DisaggregationOfRevenueTableTextBlock_zIsariXe6LBa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Under
ASC 606, disaggregated revenue from contracts with customers depicts the nature, amount, timing, and uncertainty of revenue and cash
flows affected by economic factors. The Company has evaluated revenues recognized and the following table illustrates the disaggregation
disclosure by customer&#x2019;s location and performance obligation.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Disaggregation
of Revenue&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BB_zwYKlGyBElmj" style="display: none"&gt;Schedule of Disaggregation of Revenues&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"/&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="30" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Three Months ended June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Commercial&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Government&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;International&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Commercial&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Government&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;International&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 20%; text-align: left"&gt;Simulators and accessories&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_98D_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zjTLCRducMRa" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;3,521,100&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_984_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zZr8tM6oJHl4" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;1,422,233&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_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zDplKq28jrT5" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;1,737,301&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_98D_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220401__20220630_zQNjko2WMMMb" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;6,680,634&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_989_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zTskqGmCXhVf" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;543,890&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_982_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_za7cQ7BifiU5" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;3,503,592&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_989_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z5lkLIk5cFQb" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;106,933&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_985_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210401__20210630_zHzMLN19PPbf" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;4,154,415&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;Extended service-type warranties&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zuuysX2VShk9" style="text-align: right" title="Simulators and accessories"&gt;30,546&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zelWLOQWiiRh" style="text-align: right" title="Simulators and accessories"&gt;747,878&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zYk1KwnIugdd" style="text-align: right" title="Simulators and accessories"&gt;27,646&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220401__20220630_z5wKq0pbWgi6" style="text-align: right" title="Simulators and accessories"&gt;806,070&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zIc028d26tl8" style="text-align: right" title="Simulators and accessories"&gt;25,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 id="xdx_982_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_z3aElAjiMXtd" style="text-align: right" title="Simulators and accessories"&gt;673,970&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--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zHqDsFFjpVyc" style="text-align: right" title="Simulators and accessories"&gt;28,965&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--ExtendedServicetypeWarranties_pp0p0_c20210401__20210630_zgduGN9ZmCd" style="text-align: right" title="Simulators and accessories"&gt;728,482&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(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Customized software and content&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--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zdI6i28Rh5O8" style="text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0713"&gt;-&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_98A_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zCz2lafgadC7" style="text-align: right" title="Simulators and accessories"&gt;60,392&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_987_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zGLvo0xQTMl7" style="text-align: right" title="Simulators and accessories"&gt;126,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_986_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20220401__20220630_zXfzFHoHIFM9" style="text-align: right" title="Simulators and accessories"&gt;186,392&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_982_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z0iDalua8uLa" style="text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0721"&gt;-&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_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zvFX1VPeTOjd" style="text-align: right" title="Simulators and accessories"&gt;146,543&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_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zsiWaPY5v6Gi" style="text-align: right" title="Simulators and accessories"&gt;21,170&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_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20210401__20210630_zVBIs15ofj93" style="text-align: right" title="Simulators and accessories"&gt;167,713&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;Installation and training&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_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zgKfTnIq3u36" style="text-align: right" title="Simulators and accessories"&gt;35,343&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_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zdPGSKOV1vGf" style="text-align: right" title="Simulators and accessories"&gt;249,847&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_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z1cUfY8atsz7" style="text-align: right" title="Simulators and accessories"&gt;39,097&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_ecustom--InstallationAndTraining_pp0p0_c20220401__20220630_zBSs0M93RJP1" style="text-align: right" title="Simulators and accessories"&gt;324,287&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_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zIrpbUVde8Df" style="text-align: right" title="Simulators and accessories"&gt;15,043&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_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zAUqLquwoxtd" style="text-align: right" title="Simulators and accessories"&gt;186,909&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_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zMxyglxfIHRg" style="text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0741"&gt;-&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_989_ecustom--InstallationAndTraining_pp0p0_c20210401__20210630_z3fGubiltAs3" style="text-align: right" title="Simulators and accessories"&gt;201,952&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(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Licensing and royalties&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zotNvXeUFQF7" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0745"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zomPBQLTw6j4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0747"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z4aurUWgRHCi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0749"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220401__20220630_zr7eT2vfgbwj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0751"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zYnyJqBz5Pt5" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;2,630&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zkYzbb8XgAUb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0755"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zmVAkELxIaV" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0757"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210401__20210630_zePUOV6b0ohe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;2,630&lt;/td&gt;&lt;td style="padding-bottom: 1.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="padding-bottom: 2.5pt; text-align: left"&gt;Total Revenue&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z2L6068QwXO" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;3,586,989&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zzz72VsbaV8k" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;2,480,350&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zWCi49zG1NDf" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;1,930,044&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_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630_zlg1aTBCnXSj" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;7,997,383&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zIFDiraaYuV1" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;587,110&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_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zZYnIZqZEoWh" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;4,511,014&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zaPqjGEqAw8b" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;157,068&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_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210401__20210630_zfn4sxTuNYM7" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;5,255,192&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 style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="30" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Six Months ended June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Commercial&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Government&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;International&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Commercial&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Government&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;International&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 20%; text-align: left"&gt;Simulators and accessories&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_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zutlr6kBo8Z1" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;5,101,292&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_981_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_z475SpeWhZFd" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;4,646,791&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_98E_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zxEu68r5Jep3" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;2,643,938&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_98A_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220630_z5hypVzDZVe5" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;12,392,021&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_981_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zgei3eb1GAG" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;815,528&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_986_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zn8azzg22IW9" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;5,181,515&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_985_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zUGcGiAdipgb" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;1,184,118&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_98A_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210630_zQuggBJhdxck" style="width: 6%; text-align: right" title="Simulators and accessories"&gt;7,181,161&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;Extended service-type warranties&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zMjJlhBuv141" style="text-align: right" title="Simulators and accessories"&gt;62,033&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zDd8MhyfZY06" style="text-align: right" title="Simulators and accessories"&gt;1,478,238&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zYlEJ5URh8Z2" style="text-align: right" title="Simulators and accessories"&gt;45,308&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_982_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220630_zk4r6R0YWXPk" style="text-align: right" title="Simulators and accessories"&gt;1,585,579&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zolGWkI0AOt5" style="text-align: right" title="Simulators and accessories"&gt;47,621&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zD72MtM2nKAb" style="text-align: right" title="Simulators and accessories"&gt;1,344,554&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_98F_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zRRXx38FVA2d" style="text-align: right" title="Simulators and accessories"&gt;49,015&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_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210630_zI3Ta6CYYRU3" style="text-align: right" title="Simulators and accessories"&gt;1,441,190&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(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Customized software and content&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_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zY3J3Akm8BB5" style="text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0809"&gt;-&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_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zGW4MAf4KTmd" style="text-align: right" title="Simulators and accessories"&gt;2,106&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_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zg2F2pjitR79" style="text-align: right" title="Simulators and accessories"&gt;209,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_98D_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20220101__20220630_zWX4vYPCdTS1" style="text-align: right" title="Simulators and accessories"&gt;211,106&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_988_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zSik14E2ZTfj" style="text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0817"&gt;-&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_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zD85NlqDDEv" style="text-align: right" title="Simulators and accessories"&gt;613,956&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_982_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zc4eFFe1PpH1" style="text-align: right" title="Simulators and accessories"&gt;73,443&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_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20210101__20210630_zM8YkM2RRc19" style="text-align: right" title="Simulators and accessories"&gt;687,399&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;Installation and training&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_ecustom--InstallationAndTraining_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zPpTgMygdpol" style="text-align: right" title="Simulators and accessories"&gt;47,208&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--InstallationAndTraining_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zXo6mkwmfYlc" style="text-align: right" title="Simulators and accessories"&gt;407,400&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_ecustom--InstallationAndTraining_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z3JhHEYLIwWj" style="text-align: right" title="Simulators and accessories"&gt;107,297&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_982_ecustom--InstallationAndTraining_pp0p0_c20220101__20220630_zE0xkGoUysIf" style="text-align: right" title="Simulators and accessories"&gt;561,905&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_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zyAbWSRsUHvj" style="text-align: right" title="Simulators and accessories"&gt;49,864&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_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zfgBAZnLLkel" style="text-align: right" title="Simulators and accessories"&gt;306,707&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_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zccYWc3OQe74" style="text-align: right" title="Simulators and accessories"&gt;26,350&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_987_ecustom--InstallationAndTraining_pp0p0_c20210101__20210630_zcX0nIxdNKR5" style="text-align: right" title="Simulators and accessories"&gt;382,921&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(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Licensing and royalties&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zOhEY11o8ACl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0841"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zBXVJxXIT4Lf" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0843"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zC9SSX857kK8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0845"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220630_zWt9xiOYQ8Yh" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0847"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z3VU3q189QG1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;4,430&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zZciaxILhVFa" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0851"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zIV1OekVlMZf" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0853"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210630_zzJMtiIvFemi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Simulators and accessories"&gt;4,430&lt;/td&gt;&lt;td style="padding-bottom: 1.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="padding-bottom: 2.5pt; text-align: left"&gt;Total Revenue&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_ztuBgPgUWdIg" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;5,210,533&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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zbfbVSGiRgVa" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;6,534,535&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_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zMVoctgeIBrb" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;3,005,543&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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630_zK57tbXuQmm8" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;14,750,611&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zGVrHlODfBn1" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;917,443&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zP9RwBZnU862" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;7,446,732&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zHkwmJCBl5W2" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;1,332,926&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--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630_zwmb9Sjl2Zl8" style="border-bottom: Black 2.5pt double; text-align: right" title="Simulators and accessories"&gt;9,697,101&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 style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;For
the six months ended June 30, 2022, governmental customers comprised $&lt;span id="xdx_900_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_zHsMRR8bUA41" title="Revenue"&gt;6,534,535&lt;/span&gt;, or &lt;span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_z9eEzLxsetL9" title="Concentration of credit risk"&gt;44&lt;/span&gt;% of total net sales, commercial customers comprised
$&lt;span id="xdx_90D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zQe9P6TYufUj" title="Revenue"&gt;5,210,533&lt;/span&gt;, or &lt;span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zeJy0PnWcet3" title="Concentration of credit risk"&gt;35&lt;/span&gt;% of total net sales, and international customers comprised $&lt;span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zoSRzBPprKg4" title="Revenue"&gt;3,005,543&lt;/span&gt;, or &lt;span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zx3z2eYeOdGg" title="Concentration of credit risk"&gt;20&lt;/span&gt;% of total net sales. By comparison, for
the six months ended June 30, 2021, governmental customers comprised $&lt;span id="xdx_90E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_z7yF9LMGFhta" title="Revenue"&gt;7,446,732&lt;/span&gt;, or &lt;span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_zCncbpAo498j" title="Concentration of credit risk"&gt;77&lt;/span&gt;% of total net sales, commercial customers comprised
$&lt;span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zzBsAXW2ojp4" title="Revenue"&gt;917,443&lt;/span&gt;, or &lt;span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zLTGLMrUpgUc" title="Concentration of credit risk"&gt;9&lt;/span&gt;% of total net sales, and international customers comprised $&lt;span id="xdx_905_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zJ3J6mqDZwuk" title="Revenue"&gt;1,332,926&lt;/span&gt;, or &lt;span id="xdx_90B_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_z3apCwOGySD4" title="Concentration of credit risk"&gt;14&lt;/span&gt;% of total net sales.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <VTSI:SimulatorsandAccessoriesRevenue
      contextRef="From2022-04-012022-06-30_custom_GeographicDistributionCommercialMember"
      decimals="0"
      unitRef="USD">3521100</VTSI:SimulatorsandAccessoriesRevenue>
    <VTSI:SimulatorsandAccessoriesRevenue
      contextRef="From2022-04-012022-06-30_custom_GeographicDistributionGovernmentMember"
      decimals="0"
      unitRef="USD">1422233</VTSI:SimulatorsandAccessoriesRevenue>
    <VTSI:SimulatorsandAccessoriesRevenue
      contextRef="From2022-04-012022-06-30_us-gaap_GeographicDistributionForeignMember"
      decimals="0"
      unitRef="USD">1737301</VTSI:SimulatorsandAccessoriesRevenue>
    <VTSI:SimulatorsandAccessoriesRevenue
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">6680634</VTSI:SimulatorsandAccessoriesRevenue>
    <VTSI:SimulatorsandAccessoriesRevenue
      contextRef="From2021-04-012021-06-30_custom_GeographicDistributionCommercialMember"
      decimals="0"
      unitRef="USD">543890</VTSI:SimulatorsandAccessoriesRevenue>
    <VTSI:SimulatorsandAccessoriesRevenue
      contextRef="From2021-04-012021-06-30_custom_GeographicDistributionGovernmentMember"
      decimals="0"
      unitRef="USD">3503592</VTSI:SimulatorsandAccessoriesRevenue>
    <VTSI:SimulatorsandAccessoriesRevenue
      contextRef="From2021-04-012021-06-30_us-gaap_GeographicDistributionForeignMember"
      decimals="0"
      unitRef="USD">106933</VTSI:SimulatorsandAccessoriesRevenue>
    <VTSI:SimulatorsandAccessoriesRevenue
      contextRef="From2021-04-012021-06-30"
      decimals="0"
      unitRef="USD">4154415</VTSI:SimulatorsandAccessoriesRevenue>
    <VTSI:ExtendedServicetypeWarranties
      contextRef="From2022-04-012022-06-30_custom_GeographicDistributionCommercialMember"
      decimals="0"
      unitRef="USD">30546</VTSI:ExtendedServicetypeWarranties>
    <VTSI:ExtendedServicetypeWarranties
      contextRef="From2022-04-012022-06-30_custom_GeographicDistributionGovernmentMember"
      decimals="0"
      unitRef="USD">747878</VTSI:ExtendedServicetypeWarranties>
    <VTSI:ExtendedServicetypeWarranties
      contextRef="From2022-04-012022-06-30_us-gaap_GeographicDistributionForeignMember"
      decimals="0"
      unitRef="USD">27646</VTSI:ExtendedServicetypeWarranties>
    <VTSI:ExtendedServicetypeWarranties
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">806070</VTSI:ExtendedServicetypeWarranties>
    <VTSI:ExtendedServicetypeWarranties
      contextRef="From2021-04-012021-06-30_custom_GeographicDistributionCommercialMember"
      decimals="0"
      unitRef="USD">25547</VTSI:ExtendedServicetypeWarranties>
    <VTSI:ExtendedServicetypeWarranties
      contextRef="From2021-04-012021-06-30_custom_GeographicDistributionGovernmentMember"
      decimals="0"
      unitRef="USD">673970</VTSI:ExtendedServicetypeWarranties>
    <VTSI:ExtendedServicetypeWarranties
      contextRef="From2021-04-012021-06-30_us-gaap_GeographicDistributionForeignMember"
      decimals="0"
      unitRef="USD">28965</VTSI:ExtendedServicetypeWarranties>
    <VTSI:ExtendedServicetypeWarranties
      contextRef="From2021-04-012021-06-30"
      decimals="0"
      unitRef="USD">728482</VTSI:ExtendedServicetypeWarranties>
    <VTSI:CustomizedSoftwareAndCustomizedContentScenarios
      contextRef="From2022-04-012022-06-30_custom_GeographicDistributionGovernmentMember"
      decimals="0"
      unitRef="USD">60392</VTSI:CustomizedSoftwareAndCustomizedContentScenarios>
    <VTSI:CustomizedSoftwareAndCustomizedContentScenarios
      contextRef="From2022-04-012022-06-30_us-gaap_GeographicDistributionForeignMember"
      decimals="0"
      unitRef="USD">126000</VTSI:CustomizedSoftwareAndCustomizedContentScenarios>
    <VTSI:CustomizedSoftwareAndCustomizedContentScenarios
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">186392</VTSI:CustomizedSoftwareAndCustomizedContentScenarios>
    <VTSI:CustomizedSoftwareAndCustomizedContentScenarios
      contextRef="From2021-04-012021-06-30_custom_GeographicDistributionGovernmentMember"
      decimals="0"
      unitRef="USD">146543</VTSI:CustomizedSoftwareAndCustomizedContentScenarios>
    <VTSI:CustomizedSoftwareAndCustomizedContentScenarios
      contextRef="From2021-04-012021-06-30_us-gaap_GeographicDistributionForeignMember"
      decimals="0"
      unitRef="USD">21170</VTSI:CustomizedSoftwareAndCustomizedContentScenarios>
    <VTSI:CustomizedSoftwareAndCustomizedContentScenarios
      contextRef="From2021-04-012021-06-30"
      decimals="0"
      unitRef="USD">167713</VTSI:CustomizedSoftwareAndCustomizedContentScenarios>
    <VTSI:InstallationAndTraining
      contextRef="From2022-04-012022-06-30_custom_GeographicDistributionCommercialMember"
      decimals="0"
      unitRef="USD">35343</VTSI:InstallationAndTraining>
    <VTSI:InstallationAndTraining
      contextRef="From2022-04-012022-06-30_custom_GeographicDistributionGovernmentMember"
      decimals="0"
      unitRef="USD">249847</VTSI:InstallationAndTraining>
    <VTSI:InstallationAndTraining
      contextRef="From2022-04-012022-06-30_us-gaap_GeographicDistributionForeignMember"
      decimals="0"
      unitRef="USD">39097</VTSI:InstallationAndTraining>
    <VTSI:InstallationAndTraining
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">324287</VTSI:InstallationAndTraining>
    <VTSI:InstallationAndTraining
      contextRef="From2021-04-012021-06-30_custom_GeographicDistributionCommercialMember"
      decimals="0"
      unitRef="USD">15043</VTSI:InstallationAndTraining>
    <VTSI:InstallationAndTraining
      contextRef="From2021-04-012021-06-30_custom_GeographicDistributionGovernmentMember"
      decimals="0"
      unitRef="USD">186909</VTSI:InstallationAndTraining>
    <VTSI:InstallationAndTraining
      contextRef="From2021-04-012021-06-30"
      decimals="0"
      unitRef="USD">201952</VTSI:InstallationAndTraining>
    <VTSI:LicensingAndRoyaltiesRevenue
      contextRef="From2021-04-012021-06-30_custom_GeographicDistributionCommercialMember"
      decimals="0"
      unitRef="USD">2630</VTSI:LicensingAndRoyaltiesRevenue>
    <VTSI:LicensingAndRoyaltiesRevenue
      contextRef="From2021-04-012021-06-30"
      decimals="0"
      unitRef="USD">2630</VTSI:LicensingAndRoyaltiesRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-04-012022-06-30_custom_GeographicDistributionCommercialMember"
      decimals="0"
      unitRef="USD">3586989</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-04-012022-06-30_custom_GeographicDistributionGovernmentMember"
      decimals="0"
      unitRef="USD">2480350</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-04-012022-06-30_us-gaap_GeographicDistributionForeignMember"
      decimals="0"
      unitRef="USD">1930044</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">7997383</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2021-04-012021-06-30_custom_GeographicDistributionCommercialMember"
      decimals="0"
      unitRef="USD">587110</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2021-04-012021-06-30_custom_GeographicDistributionGovernmentMember"
      decimals="0"
      unitRef="USD">4511014</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2021-04-012021-06-30_us-gaap_GeographicDistributionForeignMember"
      decimals="0"
      unitRef="USD">157068</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2021-04-012021-06-30"
      decimals="0"
      unitRef="USD">5255192</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <VTSI:SimulatorsandAccessoriesRevenue
      contextRef="From2022-01-012022-06-30_custom_GeographicDistributionCommercialMember"
      decimals="0"
      unitRef="USD">5101292</VTSI:SimulatorsandAccessoriesRevenue>
    <VTSI:SimulatorsandAccessoriesRevenue
      contextRef="From2022-01-012022-06-30_custom_GeographicDistributionGovernmentMember"
      decimals="0"
      unitRef="USD">4646791</VTSI:SimulatorsandAccessoriesRevenue>
    <VTSI:SimulatorsandAccessoriesRevenue
      contextRef="From2022-01-012022-06-30_us-gaap_GeographicDistributionForeignMember"
      decimals="0"
      unitRef="USD">2643938</VTSI:SimulatorsandAccessoriesRevenue>
    <VTSI:SimulatorsandAccessoriesRevenue
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">12392021</VTSI:SimulatorsandAccessoriesRevenue>
    <VTSI:SimulatorsandAccessoriesRevenue
      contextRef="From2021-01-012021-06-30_custom_GeographicDistributionCommercialMember"
      decimals="0"
      unitRef="USD">815528</VTSI:SimulatorsandAccessoriesRevenue>
    <VTSI:SimulatorsandAccessoriesRevenue
      contextRef="From2021-01-012021-06-30_custom_GeographicDistributionGovernmentMember"
      decimals="0"
      unitRef="USD">5181515</VTSI:SimulatorsandAccessoriesRevenue>
    <VTSI:SimulatorsandAccessoriesRevenue
      contextRef="From2021-01-012021-06-30_us-gaap_GeographicDistributionForeignMember"
      decimals="0"
      unitRef="USD">1184118</VTSI:SimulatorsandAccessoriesRevenue>
    <VTSI:SimulatorsandAccessoriesRevenue
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">7181161</VTSI:SimulatorsandAccessoriesRevenue>
    <VTSI:ExtendedServicetypeWarranties
      contextRef="From2022-01-012022-06-30_custom_GeographicDistributionCommercialMember"
      decimals="0"
      unitRef="USD">62033</VTSI:ExtendedServicetypeWarranties>
    <VTSI:ExtendedServicetypeWarranties
      contextRef="From2022-01-012022-06-30_custom_GeographicDistributionGovernmentMember"
      decimals="0"
      unitRef="USD">1478238</VTSI:ExtendedServicetypeWarranties>
    <VTSI:ExtendedServicetypeWarranties
      contextRef="From2022-01-012022-06-30_us-gaap_GeographicDistributionForeignMember"
      decimals="0"
      unitRef="USD">45308</VTSI:ExtendedServicetypeWarranties>
    <VTSI:ExtendedServicetypeWarranties
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">1585579</VTSI:ExtendedServicetypeWarranties>
    <VTSI:ExtendedServicetypeWarranties
      contextRef="From2021-01-012021-06-30_custom_GeographicDistributionCommercialMember"
      decimals="0"
      unitRef="USD">47621</VTSI:ExtendedServicetypeWarranties>
    <VTSI:ExtendedServicetypeWarranties
      contextRef="From2021-01-012021-06-30_custom_GeographicDistributionGovernmentMember"
      decimals="0"
      unitRef="USD">1344554</VTSI:ExtendedServicetypeWarranties>
    <VTSI:ExtendedServicetypeWarranties
      contextRef="From2021-01-012021-06-30_us-gaap_GeographicDistributionForeignMember"
      decimals="0"
      unitRef="USD">49015</VTSI:ExtendedServicetypeWarranties>
    <VTSI:ExtendedServicetypeWarranties
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">1441190</VTSI:ExtendedServicetypeWarranties>
    <VTSI:CustomizedSoftwareAndCustomizedContentScenarios
      contextRef="From2022-01-012022-06-30_custom_GeographicDistributionGovernmentMember"
      decimals="0"
      unitRef="USD">2106</VTSI:CustomizedSoftwareAndCustomizedContentScenarios>
    <VTSI:CustomizedSoftwareAndCustomizedContentScenarios
      contextRef="From2022-01-012022-06-30_us-gaap_GeographicDistributionForeignMember"
      decimals="0"
      unitRef="USD">209000</VTSI:CustomizedSoftwareAndCustomizedContentScenarios>
    <VTSI:CustomizedSoftwareAndCustomizedContentScenarios
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">211106</VTSI:CustomizedSoftwareAndCustomizedContentScenarios>
    <VTSI:CustomizedSoftwareAndCustomizedContentScenarios
      contextRef="From2021-01-012021-06-30_custom_GeographicDistributionGovernmentMember"
      decimals="0"
      unitRef="USD">613956</VTSI:CustomizedSoftwareAndCustomizedContentScenarios>
    <VTSI:CustomizedSoftwareAndCustomizedContentScenarios
      contextRef="From2021-01-012021-06-30_us-gaap_GeographicDistributionForeignMember"
      decimals="0"
      unitRef="USD">73443</VTSI:CustomizedSoftwareAndCustomizedContentScenarios>
    <VTSI:CustomizedSoftwareAndCustomizedContentScenarios
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">687399</VTSI:CustomizedSoftwareAndCustomizedContentScenarios>
    <VTSI:InstallationAndTraining
      contextRef="From2022-01-012022-06-30_custom_GeographicDistributionCommercialMember"
      decimals="0"
      unitRef="USD">47208</VTSI:InstallationAndTraining>
    <VTSI:InstallationAndTraining
      contextRef="From2022-01-012022-06-30_custom_GeographicDistributionGovernmentMember"
      decimals="0"
      unitRef="USD">407400</VTSI:InstallationAndTraining>
    <VTSI:InstallationAndTraining
      contextRef="From2022-01-012022-06-30_us-gaap_GeographicDistributionForeignMember"
      decimals="0"
      unitRef="USD">107297</VTSI:InstallationAndTraining>
    <VTSI:InstallationAndTraining
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">561905</VTSI:InstallationAndTraining>
    <VTSI:InstallationAndTraining
      contextRef="From2021-01-012021-06-30_custom_GeographicDistributionCommercialMember"
      decimals="0"
      unitRef="USD">49864</VTSI:InstallationAndTraining>
    <VTSI:InstallationAndTraining
      contextRef="From2021-01-012021-06-30_custom_GeographicDistributionGovernmentMember"
      decimals="0"
      unitRef="USD">306707</VTSI:InstallationAndTraining>
    <VTSI:InstallationAndTraining
      contextRef="From2021-01-012021-06-30_us-gaap_GeographicDistributionForeignMember"
      decimals="0"
      unitRef="USD">26350</VTSI:InstallationAndTraining>
    <VTSI:InstallationAndTraining
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">382921</VTSI:InstallationAndTraining>
    <VTSI:LicensingAndRoyaltiesRevenue
      contextRef="From2021-01-012021-06-30_custom_GeographicDistributionCommercialMember"
      decimals="0"
      unitRef="USD">4430</VTSI:LicensingAndRoyaltiesRevenue>
    <VTSI:LicensingAndRoyaltiesRevenue
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">4430</VTSI:LicensingAndRoyaltiesRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-06-30_custom_GeographicDistributionCommercialMember"
      decimals="0"
      unitRef="USD">5210533</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-06-30_custom_GeographicDistributionGovernmentMember"
      decimals="0"
      unitRef="USD">6534535</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-06-30_us-gaap_GeographicDistributionForeignMember"
      decimals="0"
      unitRef="USD">3005543</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">14750611</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2021-01-012021-06-30_custom_GeographicDistributionCommercialMember"
      decimals="0"
      unitRef="USD">917443</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2021-01-012021-06-30_custom_GeographicDistributionGovernmentMember"
      decimals="0"
      unitRef="USD">7446732</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2021-01-012021-06-30_us-gaap_GeographicDistributionForeignMember"
      decimals="0"
      unitRef="USD">1332926</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">9697101</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_GovernmentCustomersMember"
      decimals="0"
      unitRef="USD">6534535</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_GovernmentCustomersMember"
      decimals="INF"
      unitRef="Pure">0.44</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_CommercialCustomersMember"
      decimals="0"
      unitRef="USD">5210533</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_CommercialCustomersMember"
      decimals="INF"
      unitRef="Pure">0.35</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_InternationalCustomersMember"
      decimals="0"
      unitRef="USD">3005543</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_InternationalCustomersMember"
      decimals="INF"
      unitRef="Pure">0.20</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2021-01-012021-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_GovernmentCustomersMember"
      decimals="0"
      unitRef="USD">7446732</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2021-01-012021-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_GovernmentCustomersMember"
      decimals="INF"
      unitRef="Pure">0.77</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2021-01-012021-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_CommercialCustomersMember"
      decimals="0"
      unitRef="USD">917443</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2021-01-012021-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_CommercialCustomersMember"
      decimals="INF"
      unitRef="Pure">0.09</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2021-01-012021-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_InternationalCustomersMember"
      decimals="0"
      unitRef="USD">1332926</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2021-01-012021-06-30_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_CustomerConcentrationRiskMember_custom_InternationalCustomersMember"
      decimals="INF"
      unitRef="Pure">0.14</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:DepositContractsPolicy contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_84E_eus-gaap--DepositContractsPolicy_zkb7GfFJdVg4" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86C_z1683k2aAiH2"&gt;Customer
Deposits&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Customer
deposits consist of prepaid deposits received for equipment purchase orders and for Subscription Training Equipment Partnership (&#x201c;STEP&#x201d;)
operating agreements that expire annually. Customer deposits are considered a deferred liability until the completion of the customer&#x2019;s
contract performance obligation. When revenue is recognized, the deposit is applied to customer&#x2019;s receivable balance. Customer
deposits are recorded as a current liability under deferred revenue on the accompanying balance sheet and totalled $&lt;span id="xdx_900_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pp0p0_c20220630__us-gaap--IncomeStatementLocationAxis__custom--DeferredRevenueMember_zuoXi6CG9398" title="Customer deposits, current"&gt;3,212,846&lt;/span&gt; and $&lt;span id="xdx_900_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pp0p0_c20211231__us-gaap--IncomeStatementLocationAxis__custom--DeferredRevenueMember_z4cc6PSeLhVf" title="Customer deposits, current"&gt;2,371,531&lt;/span&gt;
at June 30, 2022 and December 31, 2021, respectively. Changes in deferred revenue amounts related to customer deposits will fluctuate
from year to year based upon the mix of customers required to prepay deposits under the Company&#x2019;s credit policy.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:DepositContractsPolicy>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="AsOf2022-06-30_custom_DeferredRevenueMember"
      decimals="0"
      unitRef="USD">3212846</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="AsOf2021-12-31_custom_DeferredRevenueMember"
      decimals="0"
      unitRef="USD">2371531</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:StandardProductWarrantyPolicy contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_84E_eus-gaap--StandardProductWarrantyPolicy_zKLWBsZQxJF1" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_86B_zG59nK5Y0crj"&gt;Warranty&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company warranties its products from manufacturing defects on a limited basis for a period of one year after purchase, but also sells
separately priced extended service-type warranties for periods of up to four years after the expiration of the standard one-year warranty.
During the term of the initial one-year warranty, if the device fails to operate properly from defects in materials and workmanship,
the Company will fix or replace the defective product. Deferred revenue for separately priced extended warranties one year or less totalled
$&lt;span id="xdx_909_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220630__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearOrLessMember_zVsqqR4HWjw6" title="Extended warranties"&gt;1,160,327&lt;/span&gt; and $&lt;span id="xdx_90A_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearOrLessMember_z3okiH8tPzM9" title="Extended warranties"&gt;1,764,034&lt;/span&gt; as of June 30, 2022 and December 31, 2021, respectively. Deferred revenue for separately priced extended warranties
longer than one year totalled $&lt;span id="xdx_900_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220630__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--LongerThanOneYearMember_z1RS7AiSGdPg" title="Extended warranties"&gt;2,311,052&lt;/span&gt; and $&lt;span id="xdx_90F_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--LongerThanOneYearMember_zLtwnMLeY9yf" title="Extended warranties"&gt;1,815,871&lt;/span&gt; as of June 30, 2022 and December 31, 2021, respectively. The accrual for the one-year
manufacturer&#x2019;s warranty liability totalled $&lt;span id="xdx_902_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220630__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearMember_zTq78dY2oQZc" title="Extended warranties"&gt;434,000&lt;/span&gt; and $&lt;span id="xdx_90C_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearMember_zaNPppemWQe6" title="Extended warranties"&gt;384,000&lt;/span&gt; as of June 30, 2022 and December 31, 2021, respectively. During
the six months ended June 30, 2022 and 2021, the Company recognized revenue of $&lt;span id="xdx_903_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pp0p0_c20220101__20220630_zyFo4EpVIKgc" title="Revenue recognized"&gt;916,069&lt;/span&gt; and $&lt;span id="xdx_90D_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pp0p0_c20210101__20210630_zqMhLoylPff8" title="Revenue recognized"&gt;682,842&lt;/span&gt;, respectively, related to the
extended service-type warranties that was amortized from the deferred revenue balance at the beginning of each period. Changes in deferred
revenue amounts related to extended service-type warranties will fluctuate from year to year based upon the average remaining life of
the warranties at the beginning of the period and new extended service-type warranties sold during the period.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:StandardProductWarrantyPolicy>
    <us-gaap:ExtendedProductWarrantyAccrual
      contextRef="AsOf2022-06-30_custom_WarrantyMember_custom_OneYearOrLessMember"
      decimals="0"
      unitRef="USD">1160327</us-gaap:ExtendedProductWarrantyAccrual>
    <us-gaap:ExtendedProductWarrantyAccrual
      contextRef="AsOf2021-12-31_custom_WarrantyMember_custom_OneYearOrLessMember"
      decimals="0"
      unitRef="USD">1764034</us-gaap:ExtendedProductWarrantyAccrual>
    <us-gaap:ExtendedProductWarrantyAccrual
      contextRef="AsOf2022-06-30_custom_WarrantyMember_custom_LongerThanOneYearMember"
      decimals="0"
      unitRef="USD">2311052</us-gaap:ExtendedProductWarrantyAccrual>
    <us-gaap:ExtendedProductWarrantyAccrual
      contextRef="AsOf2021-12-31_custom_WarrantyMember_custom_LongerThanOneYearMember"
      decimals="0"
      unitRef="USD">1815871</us-gaap:ExtendedProductWarrantyAccrual>
    <us-gaap:ExtendedProductWarrantyAccrual
      contextRef="AsOf2022-06-30_custom_WarrantyMember_custom_OneYearMember"
      decimals="0"
      unitRef="USD">434000</us-gaap:ExtendedProductWarrantyAccrual>
    <us-gaap:ExtendedProductWarrantyAccrual
      contextRef="AsOf2021-12-31_custom_WarrantyMember_custom_OneYearMember"
      decimals="0"
      unitRef="USD">384000</us-gaap:ExtendedProductWarrantyAccrual>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">916069</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">682842</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ConcentrationRiskCreditRisk contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_843_eus-gaap--ConcentrationRiskCreditRisk_z2YPoWn779fk" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_863_zBhUqr30Edfk"&gt;Concentration
of Credit Risk and Major Customers and Suppliers&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Financial
instruments that potentially subject the Company to concentrations of credit risk consist of cash and cash equivalents, certificates
of deposit, accounts receivable and notes receivable.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s cash, cash equivalents and certificates of deposit are maintained with financial institutions with high credit standings
and are FDIC insured deposits. The FDIC insures deposits according to the ownership category in which the funds are insured and how the
accounts are titled. The standard deposit insurance coverage limit is $&lt;span id="xdx_906_eus-gaap--CashFDICInsuredAmount_iI_pp0p0_c20220630_zuw1nl4UuIV3" title="FDIC insured amount"&gt;250,000&lt;/span&gt; per depositor, per FDIC-insured bank, per ownership category.
The Company had uninsured cash and cash equivalents of $&lt;span id="xdx_90D_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20220630_zspbxBje0Xz2" title="Uninsured cash and cash equivalents"&gt;14,515,248&lt;/span&gt; and $&lt;span id="xdx_90F_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20211231_zGRz5zM9FOwf" title="Uninsured cash and cash equivalents"&gt;19,207,786&lt;/span&gt; as of June 30, 2022 and December 31, 2021, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Most
sales are to governments that are typically made on credit and the Company generally does not require collateral. Management performs
ongoing credit evaluations of its customers&#x2019; financial condition and maintains an allowance for estimated losses. Historically,
the Company has experienced minimal charges relative to doubtful accounts.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Historically,
the Company primarily sells its products to United States federal and state agencies. For the six months ended June 30, 2022, no single
customer comprised more than &lt;span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerProductAndServiceBenchmarkMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--NoCommercialCustomerMember_zhil1NbJhYub" title="Concentration of credit risk"&gt;10&lt;/span&gt;% of total net sales. By comparison, for the six months ended June 30, 2021, one federal agency comprised
&lt;span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20210630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerProductAndServiceBenchmarkMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__custom--OneFederalAgencyMember_zl7a484Bqmw1" title="Concentration of credit risk"&gt;10&lt;/span&gt;% of total net sales.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
of June 30, 2022, one commercial customer comprised &lt;span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__srt--StatementGeographicalAxis__custom--OneStateAgencyMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--OneCommercialCustomerMember_zm9rSHOq3Gz5" title="Concentration of credit risk"&gt;13.7&lt;/span&gt;% of total accounts receivable. By comparison, as of December 31, 2021, the Company
did not have any customer that accounted for more than &lt;span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--StatementGeographicalAxis__custom--OneStateAgencyMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zZOeBhqTn0J4" title="Concentration of credit risk"&gt;10&lt;/span&gt;% of total accounts receivable.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:CashFDICInsuredAmount contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">250000</us-gaap:CashFDICInsuredAmount>
    <us-gaap:CashUninsuredAmount contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">14515248</us-gaap:CashUninsuredAmount>
    <us-gaap:CashUninsuredAmount contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">19207786</us-gaap:CashUninsuredAmount>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-06-30_us-gaap_RevenueFromContractWithCustomerProductAndServiceBenchmarkMember_us-gaap_CustomerConcentrationRiskMember_custom_NoCommercialCustomerMember"
      decimals="INF"
      unitRef="Pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2021-01-012021-06-30_us-gaap_RevenueFromContractWithCustomerProductAndServiceBenchmarkMember_us-gaap_CustomerConcentrationRiskMember_custom_OneFederalAgencyMember"
      decimals="INF"
      unitRef="Pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-06-30_custom_OneStateAgencyMember_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_OneCommercialCustomerMember"
      decimals="INF"
      unitRef="Pure">0.137</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2021-01-012021-12-31_custom_OneStateAgencyMember_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      unitRef="Pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:EarningsPerSharePolicyTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_843_eus-gaap--EarningsPerSharePolicyTextBlock_zXIBLZwPDL6k" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&lt;span id="xdx_861_zewpF6jmD1Jl"&gt;Net
Income per Common Share&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89E_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zkF1xMUcl9v6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
net income per common share is computed by dividing net income by the weighted average of common shares outstanding. Diluted net income
per share reflects the potential dilution, using the treasury stock method, that would occur if outstanding stock options and warrants
were exercised. Earnings per share computations are as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B3_zRinQ8eaXwC2"&gt;Schedule
of Earnings Per Share&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"/&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="display: none; 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 id="xdx_49E_20220401__20220630_zKWHJd95PtXf" 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_493_20210401__20210630_zT9dG7G2vhp7" 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_496_20220101__20220630_zxxm8uHft6Nf" 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_49C_20210101__20210630_zwf4tZrluuJf" 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"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Three Months Ended June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Six Months Ended June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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;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_402_eus-gaap--NetIncomeLoss_zhufJXYP7J0i" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 44%; text-align: left"&gt;Net Income&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;787,374&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;529,359&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;1,364,448&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;1,184,522&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_zDB0s6EhixJ5" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Weighted average common stock outstanding&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;10,866,775&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;10,644,363&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;10,837,186&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;9,209,808&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_ecustom--IncrementalCommonSharesAttributableToStockOptions_zVpGDN1sUnZj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Incremental shares from stock options&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;25,527&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;48,875&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;30,481&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(299&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_z4I4U3aNLMx3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Weighted average common stock outstanding diluted&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;10,892,302&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;10,693,238&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;10,867,667&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;9,209,509&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(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Net income per common share and common equivalent shares&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 id="xdx_40F_eus-gaap--EarningsPerShareBasic_z0xkHrRwkDna" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Basic&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.07&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.05&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.13&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.13&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--EarningsPerShareDiluted_ze3Bo7JeoL02" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Diluted&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.07&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.05&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.13&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.13&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:EarningsPerSharePolicyTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_89E_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zkF1xMUcl9v6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
net income per common share is computed by dividing net income by the weighted average of common shares outstanding. Diluted net income
per share reflects the potential dilution, using the treasury stock method, that would occur if outstanding stock options and warrants
were exercised. Earnings per share computations are as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B3_zRinQ8eaXwC2"&gt;Schedule
of Earnings Per Share&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"/&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="display: none; 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 id="xdx_49E_20220401__20220630_zKWHJd95PtXf" 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_493_20210401__20210630_zT9dG7G2vhp7" 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_496_20220101__20220630_zxxm8uHft6Nf" 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_49C_20210101__20210630_zwf4tZrluuJf" 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"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Three Months Ended June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Six Months Ended June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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;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_402_eus-gaap--NetIncomeLoss_zhufJXYP7J0i" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 44%; text-align: left"&gt;Net Income&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;787,374&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;529,359&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;1,364,448&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;1,184,522&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_zDB0s6EhixJ5" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Weighted average common stock outstanding&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;10,866,775&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;10,644,363&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;10,837,186&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;9,209,808&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_ecustom--IncrementalCommonSharesAttributableToStockOptions_zVpGDN1sUnZj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Incremental shares from stock options&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;25,527&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;48,875&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;30,481&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(299&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_z4I4U3aNLMx3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Weighted average common stock outstanding diluted&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;10,892,302&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;10,693,238&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;10,867,667&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;9,209,509&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(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Net income per common share and common equivalent shares&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 id="xdx_40F_eus-gaap--EarningsPerShareBasic_z0xkHrRwkDna" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Basic&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.07&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.05&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.13&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.13&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--EarningsPerShareDiluted_ze3Bo7JeoL02" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Diluted&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.07&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.05&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.13&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.13&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:NetIncomeLoss
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">787374</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-04-012021-06-30"
      decimals="0"
      unitRef="USD">529359</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">1364448</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">1184522</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-04-012022-06-30"
      decimals="INF"
      unitRef="Shares">10866775</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2021-04-012021-06-30"
      decimals="INF"
      unitRef="Shares">10644363</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-01-01to2022-06-30"
      decimals="INF"
      unitRef="Shares">10837186</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2021-01-012021-06-30"
      decimals="INF"
      unitRef="Shares">9209808</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <VTSI:IncrementalCommonSharesAttributableToStockOptions
      contextRef="From2022-04-012022-06-30"
      decimals="INF"
      unitRef="Shares">25527</VTSI:IncrementalCommonSharesAttributableToStockOptions>
    <VTSI:IncrementalCommonSharesAttributableToStockOptions
      contextRef="From2021-04-012021-06-30"
      decimals="INF"
      unitRef="Shares">48875</VTSI:IncrementalCommonSharesAttributableToStockOptions>
    <VTSI:IncrementalCommonSharesAttributableToStockOptions
      contextRef="From2022-01-01to2022-06-30"
      decimals="INF"
      unitRef="Shares">30481</VTSI:IncrementalCommonSharesAttributableToStockOptions>
    <VTSI:IncrementalCommonSharesAttributableToStockOptions
      contextRef="From2021-01-012021-06-30"
      decimals="INF"
      unitRef="Shares">-299</VTSI:IncrementalCommonSharesAttributableToStockOptions>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2022-04-012022-06-30"
      decimals="INF"
      unitRef="Shares">10892302</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2021-04-012021-06-30"
      decimals="INF"
      unitRef="Shares">10693238</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2022-01-01to2022-06-30"
      decimals="INF"
      unitRef="Shares">10867667</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2021-01-012021-06-30"
      decimals="INF"
      unitRef="Shares">9209509</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-04-012022-06-30"
      decimals="INF"
      unitRef="USDPShares">0.07</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2021-04-012021-06-30"
      decimals="INF"
      unitRef="USDPShares">0.05</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-01-01to2022-06-30"
      decimals="INF"
      unitRef="USDPShares">0.13</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2021-01-012021-06-30"
      decimals="INF"
      unitRef="USDPShares">0.13</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2022-04-012022-06-30"
      decimals="INF"
      unitRef="USDPShares">0.07</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2021-04-012021-06-30"
      decimals="INF"
      unitRef="USDPShares">0.05</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2022-01-01to2022-06-30"
      decimals="INF"
      unitRef="USDPShares">0.13</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2021-01-012021-06-30"
      decimals="INF"
      unitRef="USDPShares">0.13</us-gaap:EarningsPerShareDiluted>
    <us-gaap:InventoryDisclosureTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_80D_eus-gaap--InventoryDisclosureTextBlock_zbz58sXlVt7d" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
2. &lt;span id="xdx_823_z8Cbyt9K4fee"&gt;Inventory&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_899_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zB2J1gv2r2Bg" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Inventory
consisted of the following as of:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BD_zRNpytf4egKa" style="display: none"&gt;Schedule of Inventory&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_494_20220630_zxTJ8ciwSvli" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20211231_z3ceBRbUmkN6" style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: center"&gt;December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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--InventoryWorkInProcessAndRawMaterials_iI_pp0p0_maINzu8Z_zrpcH0EmRsa4" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Raw materials and work in process&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: 18%; text-align: right"&gt;9,134,217&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: 18%; text-align: right"&gt;5,229,636&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--InventoryValuationReserves_iNI_pdp0_di_msINzu8Z_z0BVIDuU5H5g" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Reserve&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(302,431&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(214,712&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,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 id="xdx_408_eus-gaap--InventoryNet_iTI_pp0p0_mtINzu8Z_z8qbygwOLZNd" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Total inventory&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;8,831,786&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;5,014,924&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_8A7_z9o8y0agJ9vf" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company regularly evaluates the useful life of its spare parts inventory and as a result, the Company classified $&lt;span id="xdx_908_eus-gaap--OtherAssetsNoncurrent_iI_pp0p0_c20220630__us-gaap--BalanceSheetLocationAxis__custom--SparePartsMember_zfFXA3QhtKm6" title="Other assets, long-term"&gt;322,968&lt;/span&gt; and $&lt;span id="xdx_901_eus-gaap--OtherAssetsNoncurrent_iI_pp0p0_c20211231__us-gaap--BalanceSheetLocationAxis__custom--SparePartsMember_zwPCWHIDar1d" title="Other assets, long-term"&gt;136,241&lt;/span&gt;
of spare parts as Other Assets, long-term on the Balance Sheet at June 30, 2022 and December 31, 2021, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_899_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zB2J1gv2r2Bg" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Inventory
consisted of the following as of:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BD_zRNpytf4egKa" style="display: none"&gt;Schedule of Inventory&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_494_20220630_zxTJ8ciwSvli" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20211231_z3ceBRbUmkN6" style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: center"&gt;December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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--InventoryWorkInProcessAndRawMaterials_iI_pp0p0_maINzu8Z_zrpcH0EmRsa4" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Raw materials and work in process&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: 18%; text-align: right"&gt;9,134,217&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: 18%; text-align: right"&gt;5,229,636&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--InventoryValuationReserves_iNI_pdp0_di_msINzu8Z_z0BVIDuU5H5g" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Reserve&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(302,431&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(214,712&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,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 id="xdx_408_eus-gaap--InventoryNet_iTI_pp0p0_mtINzu8Z_z8qbygwOLZNd" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Total inventory&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;8,831,786&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;5,014,924&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:InventoryWorkInProcessAndRawMaterials contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">9134217</us-gaap:InventoryWorkInProcessAndRawMaterials>
    <us-gaap:InventoryWorkInProcessAndRawMaterials contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">5229636</us-gaap:InventoryWorkInProcessAndRawMaterials>
    <us-gaap:InventoryValuationReserves contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">302431</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">214712</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryNet contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">8831786</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">5014924</us-gaap:InventoryNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="AsOf2022-06-30_custom_SparePartsMember"
      decimals="0"
      unitRef="USD">322968</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="AsOf2021-12-31_custom_SparePartsMember"
      decimals="0"
      unitRef="USD">136241</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_805_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_zCqyv2VM1K89" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
3. &lt;span id="xdx_827_zdxULDnq560b"&gt;Property and Equipment&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_892_eus-gaap--PropertyPlantAndEquipmentTextBlock_zB9eRWAk0Gle" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Property
and equipment consisted of the following as of:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BA_zB1N72eEEvCa" style="display: none"&gt;Schedule
of Property and Equipment&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: 0.25in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20220630_zlmsQtDFxwai" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20211231_z8ZaNOStQipa" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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_407_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zaL7n2iizDWe" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 56%"&gt;Land&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: 18%; text-align: right"&gt;1,778,987&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: 18%; text-align: right"&gt;1,778,987&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_z6lBL7YHCTF8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Building &amp;amp; Building Improvements&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;9,097,454&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;9,005,205&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zvXyXQiIeJOj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Computer equipment&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,204,720&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;1,171,319&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--FurnitureAndOfficeEquipmentMember_zK1kJ0HJJSP8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Furniture and office equipment&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;272,806&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;262,814&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zzNGWuB9rC5d" style="vertical-align: bottom; background-color: rgb(204,238,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 style="text-align: right"&gt;2,739,881&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;1,970,007&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--STEPEquipmentMember_zCVuowBFGA45" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;STEP equipment&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,790,268&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;1,496,252&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zq28fCbNOOD" style="vertical-align: bottom; background-color: rgb(204,238,255)"&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 style="text-align: right"&gt;334,934&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;334,934&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ConstructionInProgressMember_zT81lrLVYFa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Construction in Progress&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;533,194&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;7,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,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 id="xdx_40D_eus-gaap--PropertyPlantAndEquipmentGross_iI_maPPAENzO3V_zOxj9js9bOyk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Total property 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 style="text-align: right"&gt;17,752,244&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;16,026,518&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_di_msPPAENzO3V_zFNXY5r15js2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Less: Accumulated depreciation and amortization&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(3,566,820&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(3,161,752&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&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_404_eus-gaap--PropertyPlantAndEquipmentNet_iTI_mtPPAENzO3V_zNSnbxUUU3R5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Property and equipment, net&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;14,185,424&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;12,864,766&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_8A2_zQFKm1IbvXXb" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Depreciation
expense, including STEP depreciation, was $&lt;span id="xdx_90D_eus-gaap--Depreciation_pp0p0_c20220101__20220630_zTl65saozGbd" title="Depreciation expense"&gt;405,162&lt;/span&gt; and $&lt;span id="xdx_90A_eus-gaap--Depreciation_pp0p0_c20210101__20210630_zVUSCKJNxfP2" title="Depreciation expense"&gt;196,711&lt;/span&gt; for the six months ended June 30, 2022 and 2021, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_892_eus-gaap--PropertyPlantAndEquipmentTextBlock_zB9eRWAk0Gle" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Property
and equipment consisted of the following as of:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BA_zB1N72eEEvCa" style="display: none"&gt;Schedule
of Property and Equipment&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: 0.25in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20220630_zlmsQtDFxwai" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20211231_z8ZaNOStQipa" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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_407_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zaL7n2iizDWe" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 56%"&gt;Land&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: 18%; text-align: right"&gt;1,778,987&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: 18%; text-align: right"&gt;1,778,987&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_z6lBL7YHCTF8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Building &amp;amp; Building Improvements&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;9,097,454&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;9,005,205&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zvXyXQiIeJOj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Computer equipment&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,204,720&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;1,171,319&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--FurnitureAndOfficeEquipmentMember_zK1kJ0HJJSP8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Furniture and office equipment&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;272,806&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;262,814&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zzNGWuB9rC5d" style="vertical-align: bottom; background-color: rgb(204,238,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 style="text-align: right"&gt;2,739,881&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;1,970,007&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--STEPEquipmentMember_zCVuowBFGA45" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;STEP equipment&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,790,268&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;1,496,252&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zq28fCbNOOD" style="vertical-align: bottom; background-color: rgb(204,238,255)"&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 style="text-align: right"&gt;334,934&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;334,934&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ConstructionInProgressMember_zT81lrLVYFa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Construction in Progress&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;533,194&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;7,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,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 id="xdx_40D_eus-gaap--PropertyPlantAndEquipmentGross_iI_maPPAENzO3V_zOxj9js9bOyk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Total property 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 style="text-align: right"&gt;17,752,244&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;16,026,518&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_di_msPPAENzO3V_zFNXY5r15js2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Less: Accumulated depreciation and amortization&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(3,566,820&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(3,161,752&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&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_404_eus-gaap--PropertyPlantAndEquipmentNet_iTI_mtPPAENzO3V_zNSnbxUUU3R5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Property and equipment, net&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;14,185,424&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;12,864,766&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="AsOf2022-06-30_us-gaap_LandMember"
      decimals="0"
      unitRef="USD">1778987</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2021-12-31_us-gaap_LandMember"
      decimals="0"
      unitRef="USD">1778987</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-06-30_us-gaap_BuildingAndBuildingImprovementsMember"
      decimals="0"
      unitRef="USD">9097454</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2021-12-31_us-gaap_BuildingAndBuildingImprovementsMember"
      decimals="0"
      unitRef="USD">9005205</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-06-30_us-gaap_ComputerEquipmentMember"
      decimals="0"
      unitRef="USD">1204720</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2021-12-31_us-gaap_ComputerEquipmentMember"
      decimals="0"
      unitRef="USD">1171319</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-06-30_custom_FurnitureAndOfficeEquipmentMember"
      decimals="0"
      unitRef="USD">272806</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2021-12-31_custom_FurnitureAndOfficeEquipmentMember"
      decimals="0"
      unitRef="USD">262814</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-06-30_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      unitRef="USD">2739881</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2021-12-31_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      unitRef="USD">1970007</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-06-30_custom_STEPEquipmentMember"
      decimals="0"
      unitRef="USD">1790268</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2021-12-31_custom_STEPEquipmentMember"
      decimals="0"
      unitRef="USD">1496252</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-06-30_us-gaap_LeaseholdImprovementsMember"
      decimals="0"
      unitRef="USD">334934</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2021-12-31_us-gaap_LeaseholdImprovementsMember"
      decimals="0"
      unitRef="USD">334934</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-06-30_us-gaap_ConstructionInProgressMember"
      decimals="0"
      unitRef="USD">533194</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2021-12-31_us-gaap_ConstructionInProgressMember"
      decimals="0"
      unitRef="USD">7000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">17752244</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">16026518</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">3566820</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">3161752</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">14185424</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">12864766</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">405162</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">196711</us-gaap:Depreciation>
    <us-gaap:IntangibleAssetsDisclosureTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_808_eus-gaap--IntangibleAssetsDisclosureTextBlock_ziPPFtfftpAh" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
4. &lt;span id="xdx_829_z00QVomet0ql"&gt;Intangible Asset&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_899_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zLWioVK0mBu2" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Intangible
asset consisted of the following as of:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B8_z13DlyxMnHYf" style="display: none"&gt;Schedule
of Intangible Asset&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20220630_zZ4LjJmhprcf" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20211231_zbcvlLJcCtNh" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_hus-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zerLgzfmIZ5c" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 56%"&gt;Patents&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: 18%; text-align: right"&gt;160,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;$&lt;/td&gt;&lt;td style="width: 18%; text-align: right"&gt;160,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_hus-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--CapitalizedMediaContentMember_zXMja7xxBSnl" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Capitalized media content&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;417,240&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;331,228&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_hus-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--AcquiredLeaseIntangibleAssetsMember_z1ldbB4Ky38a" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Acquired lease intangible assets&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;83,963&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;83,963&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_maIANEGzWG1_zSUv3dTBe40d" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Total intangible assets&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;661,203&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;575,191&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_di_msIANEGzWG1_zDO9ddd3Mzfd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Less accumulated amortization&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(81,240&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(40,112&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&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_402_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iTI_mtIANEGzWG1_zNzI27dx37Fd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Intangible assets, net&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;579,963&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;535,079&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_8AD_zdMX5bJqkHq7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Amortization
expense was $&lt;span id="xdx_909_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20220101__20220630_zFVKzxgfML23" title="Amortization of intangible asset"&gt;41,128&lt;/span&gt; and $&lt;span id="xdx_907_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20210101__20210630_zyNronTZVY8e" title="Amortization of intangible asset"&gt;4,445&lt;/span&gt; for the six months ended June 30, 2022 and 2021, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:IntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_899_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zLWioVK0mBu2" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Intangible
asset consisted of the following as of:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B8_z13DlyxMnHYf" style="display: none"&gt;Schedule
of Intangible Asset&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20220630_zZ4LjJmhprcf" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20211231_zbcvlLJcCtNh" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_hus-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zerLgzfmIZ5c" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 56%"&gt;Patents&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: 18%; text-align: right"&gt;160,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;$&lt;/td&gt;&lt;td style="width: 18%; text-align: right"&gt;160,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_hus-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--CapitalizedMediaContentMember_zXMja7xxBSnl" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Capitalized media content&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;417,240&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;331,228&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_hus-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--AcquiredLeaseIntangibleAssetsMember_z1ldbB4Ky38a" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Acquired lease intangible assets&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;83,963&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;83,963&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_maIANEGzWG1_zSUv3dTBe40d" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Total intangible assets&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;661,203&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;575,191&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_di_msIANEGzWG1_zDO9ddd3Mzfd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Less accumulated amortization&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(81,240&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(40,112&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&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_402_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iTI_mtIANEGzWG1_zNzI27dx37Fd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Intangible assets, net&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;579,963&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;535,079&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:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2022-06-30_us-gaap_PatentsMember"
      decimals="0"
      unitRef="USD">160000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2021-12-31_us-gaap_PatentsMember"
      decimals="0"
      unitRef="USD">160000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2022-06-30_custom_CapitalizedMediaContentMember"
      decimals="0"
      unitRef="USD">417240</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2021-12-31_custom_CapitalizedMediaContentMember"
      decimals="0"
      unitRef="USD">331228</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2022-06-30_custom_AcquiredLeaseIntangibleAssetsMember"
      decimals="0"
      unitRef="USD">83963</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2021-12-31_custom_AcquiredLeaseIntangibleAssetsMember"
      decimals="0"
      unitRef="USD">83963</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">661203</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">575191</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">81240</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">40112</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">579963</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">535079</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">41128</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">4445</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:LeasesOfLesseeDisclosureTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_800_eus-gaap--LeasesOfLesseeDisclosureTextBlock_zkdpOLy0SgM" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
5. &lt;span id="xdx_82A_zSYjBAdAA9Jl"&gt;Leases&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_890_ecustom--ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock_gL3SOBSCOLAAL-ES_zSpw8xuHja06" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 22.5pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
balance sheet classification of lease assets and liabilities as of June 30, 202 was as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-indent: 22.5pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B8_zsSdTHjIso8a" style="display: none"&gt;Schedule
of Balance Sheet Classification of Lease Assets and Liabilities&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: 0.25in"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_493_20220101__20220630_z7akEdCC9O96" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;Balance Sheet Classification&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;June 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold"&gt;Assets&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_404_eus-gaap--OperatingLeaseRightOfUseAsset_iS_zydlMZgZgfte" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 80%; text-align: left"&gt;Operating lease right-of-use assets, December 31, 2021&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: 16%; text-align: right"&gt;784,306&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--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_di_zSX16sbWUQy5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Amortization for the six months ended June 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(160,658&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--OperatingLeaseRightOfUseAsset_iE_zHZs42SQmBSc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Total operating lease right-of-use asset, June 30, 2022&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;623,648&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(204,238,255)"&gt;
    &lt;td style="font-weight: bold"&gt;Liabilities&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&gt;Current&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--OperatingLeaseLiabilityCurrent_iE_zW0VTsftDfQa" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Operating lease liability, short-term&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;361,403&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;Non-current&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_400_eus-gaap--OperatingLeaseLiabilityNoncurrent_iE_zg3ZQK5Fhx97" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Operating lease liability, long-term&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;321,217&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--OperatingLeaseLiability_iE_zzT98s9Blklj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Total lease liabilities&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;682,620&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_8A4_z7Xbzz2PypJ9" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_898_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_gL3LOLLMTTB-RT_zj390e7mE7Th" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Future
minimum lease payments as of June 30, 2022 under non-cancellable operating leases are as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B3_zhOke67QKMA6" style="display: none"&gt;Schedule
of Future Minimum Lease Payments&lt;/span&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 60%; margin-right: auto"&gt;
  &lt;tr style="display: none; 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 id="xdx_493_20220630_zCnvSIYEpns7" 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_402_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maLOLLPzpK3_z1D442UTwlhk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: left"&gt;2022&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: 16%; text-align: right"&gt;190,941&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40A_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLOLLPzpK3_zZycEDpmeya" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2023&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;390,562&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maLOLLPzpK3_zCnE4tAmZil9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;2024&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;131,152&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;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPzpK3_z5k88sBD3BN5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Total lease payments&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;712,655&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zABWwG5o4OO5" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Less: imputed interest&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(30,035&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--OperatingLeaseLiability_iI_zDLXMVJ1Sywl" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Operating lease liability&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;682,620&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_zg84XJaY0T12" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 22.5pt"&gt;&lt;span id="xdx_C07_gL3SOBSCOLAAL-ES_zkO3GhppMXId"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div id="xdx_C0D_gL3SOBSCOLAAL-ES_zZ6r2vp61tra"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 22.5pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
balance sheet classification of lease assets and liabilities as of December 31, 2021 was as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 22.5pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_302_134_zZqxjYwKQBul" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: 0.25in" summary="xdx: Disclosure - Schedule of Balance Sheet Classification of Lease Assets and Liabilities (Details)"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20210101__20211231_zBj0F54iMxz" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;Balance Sheet Classification&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold"&gt;Assets&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--OperatingLeaseRightOfUseAsset_iS_zyP6oH7Si4bc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 78%; text-align: left"&gt;Operating lease right-of-use assets, December 31, 2020&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: 18%; text-align: right"&gt;1,094,527&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--OperatingLeaseRightOfUseAsset_iS_z9UsPmARdCJ2" style="display: none; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Operating lease right-of-use assets, beginning&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1,094,527&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40D_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_di_zmdXr5L3g8Sk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Amortization for the year ended December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(310,221&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_di_zhHNnFVmP4wd" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Amortization&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(310,221&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40D_eus-gaap--OperatingLeaseRightOfUseAsset_iE_z0hD40NH2OUk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Total operating lease right-of-use asset, December 31, 2021&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;784,306&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--OperatingLeaseRightOfUseAsset_iE_zwHb9yHgfyl2" style="display: none; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Total operating lease right-of-use asset, ending&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;784,306&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(204,238,255)"&gt;
    &lt;td style="font-weight: bold"&gt;Liabilities&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&gt;Current&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--OperatingLeaseLiabilityCurrent_iE_zphwXuFHdG94" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Operating lease liability, short-term&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;347,772&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;Non-current&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_400_eus-gaap--OperatingLeaseLiabilityNoncurrent_iE_zq2rwg9USyy8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; padding-left: 10pt; text-align: left"&gt;Operating lease liability, long-term&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;505,383&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--OperatingLeaseLiability_iE_zfzRN2P9dxv" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Total lease liabilities&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;853,155&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;/div&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_C09_gL3SOBSCOLAAL-ES_zKvJe3HEdxX7"&gt;&lt;span id="xdx_C02_gL3LOLLMTTB-RT_zRM2HuIiFmY3"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div id="xdx_C01_gL3LOLLMTTB-RT_zBbDJJ0cNfnc"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Future
minimum lease payments as of December 31, 2021 under non-cancellable operating leases are as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_30B_134_zFRL7ES6zt3c" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 60%; margin-right: auto" summary="xdx: Disclosure - Schedule of Future Minimum Lease Payments (Details)"&gt;
  &lt;tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&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_49E_20211231_zN0RF4vqNoO" 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--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maLOLLPz7cP_zeUVE5VzRHD5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: left"&gt;2022&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: 16%; text-align: right"&gt;379,097&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLOLLPz7cP_zLUgcctrvKBb" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2023&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;390,562&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maLOLLPz7cP_z31o3qBm7Vb7" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;2024&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;131,152&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;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPz7cP_zNC2O9r08bJ" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Total lease payments&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;900,811&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zyR4wW2XYPWi" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Less: imputed interest&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(47,656&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--OperatingLeaseLiability_iI_zdHxl8ilqzcd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Operating lease liability&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;853,155&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;/div&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_C04_gL3LOLLMTTB-RT_z6nMe6wVF3Kk"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 22.5pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Rent
expense for the three months ended June 30, 2022 and 2021 was $&lt;span id="xdx_904_eus-gaap--PaymentsForRent_pp0p0_c20220401__20220630_zTd07lPL1ttb" title="Rent expenses"&gt;195,201&lt;/span&gt; and $&lt;span id="xdx_904_eus-gaap--PaymentsForRent_pp0p0_c20210401__20210630_z65LfzNncy0c" title="Rent expenses"&gt;115,140&lt;/span&gt;, respectively. Rent expense for the six months ended
June 30, 2022 and 2021 was $&lt;span id="xdx_90E_eus-gaap--PaymentsForRent_pp0p0_c20220101__20220630_zmZmI3s7phDi" title="Rent expenses"&gt;404,453&lt;/span&gt; and $&lt;span id="xdx_902_eus-gaap--PaymentsForRent_pp0p0_c20210101__20210630_z2c1mTm2ePp4" title="Rent expenses"&gt;258,897&lt;/span&gt;, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 22.5pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:LeasesOfLesseeDisclosureTextBlock>
    <VTSI:ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_890_ecustom--ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock_gL3SOBSCOLAAL-ES_zSpw8xuHja06" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 22.5pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
balance sheet classification of lease assets and liabilities as of June 30, 202 was as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-indent: 22.5pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B8_zsSdTHjIso8a" style="display: none"&gt;Schedule
of Balance Sheet Classification of Lease Assets and Liabilities&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: 0.25in"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_493_20220101__20220630_z7akEdCC9O96" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;Balance Sheet Classification&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;June 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold"&gt;Assets&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_404_eus-gaap--OperatingLeaseRightOfUseAsset_iS_zydlMZgZgfte" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 80%; text-align: left"&gt;Operating lease right-of-use assets, December 31, 2021&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: 16%; text-align: right"&gt;784,306&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--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_di_zSX16sbWUQy5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Amortization for the six months ended June 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(160,658&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--OperatingLeaseRightOfUseAsset_iE_zHZs42SQmBSc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Total operating lease right-of-use asset, June 30, 2022&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;623,648&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(204,238,255)"&gt;
    &lt;td style="font-weight: bold"&gt;Liabilities&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&gt;Current&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--OperatingLeaseLiabilityCurrent_iE_zW0VTsftDfQa" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Operating lease liability, short-term&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;361,403&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;Non-current&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_400_eus-gaap--OperatingLeaseLiabilityNoncurrent_iE_zg3ZQK5Fhx97" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Operating lease liability, long-term&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;321,217&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--OperatingLeaseLiability_iE_zzT98s9Blklj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Total lease liabilities&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;682,620&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;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 22.5pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
balance sheet classification of lease assets and liabilities as of December 31, 2021 was as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 22.5pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_302_134_zZqxjYwKQBul" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: 0.25in" summary="xdx: Disclosure - Schedule of Balance Sheet Classification of Lease Assets and Liabilities (Details)"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20210101__20211231_zBj0F54iMxz" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;Balance Sheet Classification&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold"&gt;Assets&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--OperatingLeaseRightOfUseAsset_iS_zyP6oH7Si4bc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 78%; text-align: left"&gt;Operating lease right-of-use assets, December 31, 2020&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: 18%; text-align: right"&gt;1,094,527&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--OperatingLeaseRightOfUseAsset_iS_z9UsPmARdCJ2" style="display: none; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Operating lease right-of-use assets, beginning&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1,094,527&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40D_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_di_zmdXr5L3g8Sk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Amortization for the year ended December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(310,221&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_di_zhHNnFVmP4wd" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Amortization&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(310,221&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40D_eus-gaap--OperatingLeaseRightOfUseAsset_iE_z0hD40NH2OUk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Total operating lease right-of-use asset, December 31, 2021&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;784,306&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--OperatingLeaseRightOfUseAsset_iE_zwHb9yHgfyl2" style="display: none; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Total operating lease right-of-use asset, ending&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;784,306&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(204,238,255)"&gt;
    &lt;td style="font-weight: bold"&gt;Liabilities&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&gt;Current&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--OperatingLeaseLiabilityCurrent_iE_zphwXuFHdG94" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Operating lease liability, short-term&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;347,772&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;Non-current&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_400_eus-gaap--OperatingLeaseLiabilityNoncurrent_iE_zq2rwg9USyy8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; padding-left: 10pt; text-align: left"&gt;Operating lease liability, long-term&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;505,383&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--OperatingLeaseLiability_iE_zfzRN2P9dxv" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Total lease liabilities&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;853,155&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;span id="xdx_C02_gL3LOLLMTTB-RT_zRM2HuIiFmY3"&gt;&#160;&lt;/span&gt;</VTSI:ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">784306</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">160658</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">623648</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">361403</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">321217</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">682620</us-gaap:OperatingLeaseLiability>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_898_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_gL3LOLLMTTB-RT_zj390e7mE7Th" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Future
minimum lease payments as of June 30, 2022 under non-cancellable operating leases are as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B3_zhOke67QKMA6" style="display: none"&gt;Schedule
of Future Minimum Lease Payments&lt;/span&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 60%; margin-right: auto"&gt;
  &lt;tr style="display: none; 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 id="xdx_493_20220630_zCnvSIYEpns7" 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_402_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maLOLLPzpK3_z1D442UTwlhk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: left"&gt;2022&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: 16%; text-align: right"&gt;190,941&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40A_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLOLLPzpK3_zZycEDpmeya" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2023&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;390,562&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maLOLLPzpK3_zCnE4tAmZil9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;2024&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;131,152&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;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPzpK3_z5k88sBD3BN5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Total lease payments&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;712,655&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zABWwG5o4OO5" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Less: imputed interest&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(30,035&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--OperatingLeaseLiability_iI_zDLXMVJ1Sywl" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Operating lease liability&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;682,620&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&#160;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Future
minimum lease payments as of December 31, 2021 under non-cancellable operating leases are as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_30B_134_zFRL7ES6zt3c" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 60%; margin-right: auto" summary="xdx: Disclosure - Schedule of Future Minimum Lease Payments (Details)"&gt;
  &lt;tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&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_49E_20211231_zN0RF4vqNoO" 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--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maLOLLPz7cP_zeUVE5VzRHD5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: left"&gt;2022&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: 16%; text-align: right"&gt;379,097&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLOLLPz7cP_zLUgcctrvKBb" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2023&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;390,562&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maLOLLPz7cP_z31o3qBm7Vb7" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;2024&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;131,152&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;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPz7cP_zNC2O9r08bJ" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Total lease payments&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;900,811&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zyR4wW2XYPWi" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Less: imputed interest&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(47,656&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--OperatingLeaseLiability_iI_zdHxl8ilqzcd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Operating lease liability&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;853,155&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&#160;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">190941</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">390562</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">131152</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">712655</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">30035</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">682620</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">1094527</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">1094527</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="From2021-01-012021-12-31"
      decimals="0"
      unitRef="USD">310221</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="From2021-01-012021-12-31"
      decimals="0"
      unitRef="USD">310221</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">784306</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">784306</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">347772</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">505383</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">853155</us-gaap:OperatingLeaseLiability>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">379097</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">390562</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">131152</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">900811</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">47656</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">853155</us-gaap:OperatingLeaseLiability>
    <us-gaap:PaymentsForRent
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">195201</us-gaap:PaymentsForRent>
    <us-gaap:PaymentsForRent
      contextRef="From2021-04-012021-06-30"
      decimals="0"
      unitRef="USD">115140</us-gaap:PaymentsForRent>
    <us-gaap:PaymentsForRent
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">404453</us-gaap:PaymentsForRent>
    <us-gaap:PaymentsForRent
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">258897</us-gaap:PaymentsForRent>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_807_eus-gaap--AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_zwHdOk2s0Rxj" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
6. &lt;span id="xdx_82A_zNywfjAGoOy9"&gt;Accrued Expenses&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_891_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_z4c8LJD2jPn" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Accrued
compensation and related costs consisted of the following as of:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B7_zHsu8QgZJx11" style="display: none"&gt;Schedule
of Accrued Compensation and Related Costs&lt;/span&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20220630_z4Ii5v3mWZLj" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49F_20211231_zYiUJ3djfbyl" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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_403_eus-gaap--AccruedSalariesCurrent_iI_pp0p0_maERLCzLng_zOTnDQXBE8I5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 56%; text-align: left"&gt;Salaries and wages payable&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: 18%; text-align: right"&gt;365,537&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: 18%; text-align: right"&gt;422,562&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--AccruedEmployeeBenefitsCurrent_iI_pp0p0_maERLCzLng_z2rRkvF8NDw2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Employee benefits payable&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: xdx2ixbrl1136"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"/&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;16,523&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--AccruedVacationCurrent_iI_pp0p0_maERLCzLng_zvv0gIBqAmDj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Accrued paid time off (PTO)&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;574,185&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;483,311&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--DeferredCompensationCashBasedArrangementsLiabilityCurrent_iI_pp0p0_maERLCzLng_zf4GjYVIP5We" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Profit sharing payable&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;289,682&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;139,682&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--EmployeeRelatedLiabilitiesCurrent_iTI_pp0p0_mtERLCzLng_zqscP8nIUd0l" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Total accrued compensation and related costs&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,229,404&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,062,078&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_znTGJtnGxkT3" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89A_eus-gaap--AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock_zzDUsTV7Uaz8" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Accrued
expenses and other current liabilities consisted of the following as of:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B4_zGkUjQ2nxE8l" style="display: none"&gt;Schedule
of Accrued Expenses and Other Current Liabilities&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 75%; margin-left: 0.25in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20220630_zUrpuPRP09Nh" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20211231_zEFuU0K3R2te" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&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&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 id="xdx_408_eus-gaap--ProductWarrantyAccrualClassifiedCurrent_iI_pp0p0_maAPAOAzeBe_maAPAOAzNHf_z60NZYFJ10if" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 56%; text-align: left"&gt;Manufacturer&#x2019;s warranties&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: 18%; text-align: right"&gt;434,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;$&lt;/td&gt;&lt;td style="width: 18%; text-align: right"&gt;384,000&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--TaxesPayableCurrent_iI_pp0p0_maAPAOAzNHf_zOcUay1xnF8i" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Taxes payable&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;222,466&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;113,921&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--OtherBorrowings_iI_pp0p0_maAPAOAzNHf_zMan1lPb1JU2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Miscellaneous payable&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;613,620&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;493,823&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--AccountsPayableAndOtherAccruedLiabilitiesCurrent_iTI_pp0p0_mtAPAOAzNHf_zVNegCwKPLH2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Total accrued expenses and other current liabilities&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,270,086&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;991,744&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_z7pfhNwN5Tga" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_891_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_z4c8LJD2jPn" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Accrued
compensation and related costs consisted of the following as of:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B7_zHsu8QgZJx11" style="display: none"&gt;Schedule
of Accrued Compensation and Related Costs&lt;/span&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20220630_z4Ii5v3mWZLj" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49F_20211231_zYiUJ3djfbyl" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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_403_eus-gaap--AccruedSalariesCurrent_iI_pp0p0_maERLCzLng_zOTnDQXBE8I5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 56%; text-align: left"&gt;Salaries and wages payable&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: 18%; text-align: right"&gt;365,537&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: 18%; text-align: right"&gt;422,562&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--AccruedEmployeeBenefitsCurrent_iI_pp0p0_maERLCzLng_z2rRkvF8NDw2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Employee benefits payable&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: xdx2ixbrl1136"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"/&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;16,523&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--AccruedVacationCurrent_iI_pp0p0_maERLCzLng_zvv0gIBqAmDj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Accrued paid time off (PTO)&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;574,185&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;483,311&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--DeferredCompensationCashBasedArrangementsLiabilityCurrent_iI_pp0p0_maERLCzLng_zf4GjYVIP5We" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Profit sharing payable&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;289,682&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;139,682&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--EmployeeRelatedLiabilitiesCurrent_iTI_pp0p0_mtERLCzLng_zqscP8nIUd0l" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Total accrued compensation and related costs&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,229,404&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,062,078&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="AsOf2022-06-30" decimals="0" unitRef="USD">365537</us-gaap:AccruedSalariesCurrent>
    <us-gaap:AccruedSalariesCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">422562</us-gaap:AccruedSalariesCurrent>
    <us-gaap:AccruedEmployeeBenefitsCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">16523</us-gaap:AccruedEmployeeBenefitsCurrent>
    <us-gaap:AccruedVacationCurrent contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">574185</us-gaap:AccruedVacationCurrent>
    <us-gaap:AccruedVacationCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">483311</us-gaap:AccruedVacationCurrent>
    <us-gaap:DeferredCompensationCashBasedArrangementsLiabilityCurrent contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">289682</us-gaap:DeferredCompensationCashBasedArrangementsLiabilityCurrent>
    <us-gaap:DeferredCompensationCashBasedArrangementsLiabilityCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">139682</us-gaap:DeferredCompensationCashBasedArrangementsLiabilityCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">1229404</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">1062078</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_89A_eus-gaap--AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock_zzDUsTV7Uaz8" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Accrued
expenses and other current liabilities consisted of the following as of:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B4_zGkUjQ2nxE8l" style="display: none"&gt;Schedule
of Accrued Expenses and Other Current Liabilities&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 75%; margin-left: 0.25in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20220630_zUrpuPRP09Nh" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20211231_zEFuU0K3R2te" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&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&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 id="xdx_408_eus-gaap--ProductWarrantyAccrualClassifiedCurrent_iI_pp0p0_maAPAOAzeBe_maAPAOAzNHf_z60NZYFJ10if" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 56%; text-align: left"&gt;Manufacturer&#x2019;s warranties&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: 18%; text-align: right"&gt;434,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;$&lt;/td&gt;&lt;td style="width: 18%; text-align: right"&gt;384,000&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--TaxesPayableCurrent_iI_pp0p0_maAPAOAzNHf_zOcUay1xnF8i" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Taxes payable&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;222,466&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;113,921&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--OtherBorrowings_iI_pp0p0_maAPAOAzNHf_zMan1lPb1JU2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Miscellaneous payable&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;613,620&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;493,823&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--AccountsPayableAndOtherAccruedLiabilitiesCurrent_iTI_pp0p0_mtAPAOAzNHf_zVNegCwKPLH2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Total accrued expenses and other current liabilities&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,270,086&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;991,744&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:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock>
    <us-gaap:ProductWarrantyAccrualClassifiedCurrent contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">434000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
    <us-gaap:ProductWarrantyAccrualClassifiedCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">384000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
    <us-gaap:TaxesPayableCurrent contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">222466</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">113921</us-gaap:TaxesPayableCurrent>
    <us-gaap:OtherBorrowings contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">613620</us-gaap:OtherBorrowings>
    <us-gaap:OtherBorrowings contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">493823</us-gaap:OtherBorrowings>
    <us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">1270086</us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">991744</us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent>
    <us-gaap:DebtDisclosureTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_80F_eus-gaap--DebtDisclosureTextBlock_zDzO6zoUpVy5" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
7. &lt;span id="xdx_828_zlp0QGk1QDpe"&gt;Note Payable&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;On
August 25, 2021, the Company completed the purchase of real property located in Chandler, Arizona (the &#x201c;Property&#x201d;) for $&lt;span id="xdx_90F_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_pp0p0_c20210825__20210825__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--PropertyMember_zfuwBc5GpXV5" title="Payment to acquire assets"&gt;10,800,000&lt;/span&gt;,
paid with cash and proceeds from a mortgage loan from Arizona Bank &amp;amp; Trust in the amount of $&lt;span id="xdx_90D_eus-gaap--ProceedsFromLoans_pp0p0_c20210825__20210825__dei--LegalEntityAxis__custom--ArizonaBankAndTrustMember_zdK7bmIus1G8" title="Proceeds from bank loan"&gt;8,600,000&lt;/span&gt;. The loan terms include interest
to be accrued at a fixed rate of &lt;span id="xdx_90A_eus-gaap--DebtInstrumentInterestRateDuringPeriod_pid_dp_uPure_c20210825__20210825__dei--LegalEntityAxis__custom--ArizonaBankAndTrustMember_zaMN4Biyqoz" title="Debt instrument interest rate"&gt;3&lt;/span&gt;% per year, 119 regular monthly payments of $&lt;span id="xdx_900_eus-gaap--DebtInstrumentPeriodicPayment_pp0p0_c20210825__20210825__dei--LegalEntityAxis__custom--ArizonaBankAndTrustMember__us-gaap--DebtInstrumentAxis__custom--OneHundredAndNineteenRegularMonthlyPaymentsMember_zPdn3muvqdZ6" title="Debt instrument periodic payment"&gt;40,978&lt;/span&gt;, and one irregular payment of $&lt;span id="xdx_90D_eus-gaap--DebtInstrumentPeriodicPayment_pp0p0_c20210825__20210825__dei--LegalEntityAxis__custom--ArizonaBankAndTrustMember__us-gaap--DebtInstrumentAxis__custom--OneIrregularPaymentMember_znBYZUiisJ52" title="Debt instrument periodic payment"&gt;5,956,538&lt;/span&gt; due on
the maturity date of &lt;span id="xdx_90F_eus-gaap--DebtInstrumentMaturityDate_c20210825__20210825__dei--LegalEntityAxis__custom--ArizonaBankAndTrustMember_zBeRtqqlyrJi" title="Maturity date"&gt;August 23, 2031&lt;/span&gt;. The Company began making monthly payments on September 23, 2021. The payment and performance of
the loan is secured by a security interest in the property acquired.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_891_eus-gaap--ScheduleOfDebtTableTextBlock_zuox48HCaaQe" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
note payable amounts consist of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B5_zN5wDojxffya" style="display: none"&gt;Schedule
of Notes Payable&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.5in"&gt;
  &lt;tr style="display: none; 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 id="xdx_499_20220630_zCMnzTCfwI3" 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_499_20211231_zg4HM3NIfYm2" 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"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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 style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;Short-term liabilities:&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_403_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_hus-gaap--ShortTermDebtTypeAxis__custom--NotesPayableMember_maNPCzD1Q_zbwtOyqZSQW" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 56%; text-align: left"&gt;Note payable, principal&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: 18%; text-align: right"&gt;229,560&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: 18%; text-align: right"&gt;231,871&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--InterestPayableCurrent_iI_pp0p0_hus-gaap--ShortTermDebtTypeAxis__custom--NotesPayableMember_maNPCzD1Q_zAaWfIJps8k8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Accrued interest on note&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;4,113&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;4,420&lt;/td&gt;&lt;td style="padding-bottom: 1.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_40F_eus-gaap--NotesPayableCurrent_iTI_pp0p0_hus-gaap--ShortTermDebtTypeAxis__custom--NotesPayableMember_mtNPCzD1Q_zQ4knwYxD8u2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Note payable, short-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 style="border-bottom: Black 2.5pt double; text-align: right"&gt;233,673&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;236,291&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 style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;Long-term liabilities:&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_40F_eus-gaap--DebtInstrumentFaceAmount_iI_hus-gaap--LongtermDebtTypeAxis__custom--NotesPayableMember_zYntDlpsWhqk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Note payable, principal&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;8,165,838&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;8,280,395&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,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 id="xdx_40D_eus-gaap--LongTermNotesPayable_iI_pp0p0_hus-gaap--LongtermDebtTypeAxis__custom--NotesPayableMember_zdycWHk8zM77" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Note payable, 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 style="border-bottom: Black 2.5pt double; text-align: right"&gt;8,165,838&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;8,280,395&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_8A5_zDhuFSH8H9H2" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2021-08-252021-08-25_custom_PropertyMember"
      decimals="0"
      unitRef="USD">10800000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromLoans
      contextRef="From2021-08-252021-08-25_custom_ArizonaBankAndTrustMember"
      decimals="0"
      unitRef="USD">8600000</us-gaap:ProceedsFromLoans>
    <us-gaap:DebtInstrumentInterestRateDuringPeriod
      contextRef="From2021-08-252021-08-25_custom_ArizonaBankAndTrustMember"
      decimals="INF"
      unitRef="Pure">0.03</us-gaap:DebtInstrumentInterestRateDuringPeriod>
    <us-gaap:DebtInstrumentPeriodicPayment
      contextRef="From2021-08-252021-08-25_custom_ArizonaBankAndTrustMember_custom_OneHundredAndNineteenRegularMonthlyPaymentsMember"
      decimals="0"
      unitRef="USD">40978</us-gaap:DebtInstrumentPeriodicPayment>
    <us-gaap:DebtInstrumentPeriodicPayment
      contextRef="From2021-08-252021-08-25_custom_ArizonaBankAndTrustMember_custom_OneIrregularPaymentMember"
      decimals="0"
      unitRef="USD">5956538</us-gaap:DebtInstrumentPeriodicPayment>
    <us-gaap:DebtInstrumentMaturityDate contextRef="From2021-08-252021-08-25_custom_ArizonaBankAndTrustMember">2031-08-23</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:ScheduleOfDebtTableTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_891_eus-gaap--ScheduleOfDebtTableTextBlock_zuox48HCaaQe" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
note payable amounts consist of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B5_zN5wDojxffya" style="display: none"&gt;Schedule
of Notes Payable&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.5in"&gt;
  &lt;tr style="display: none; 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 id="xdx_499_20220630_zCMnzTCfwI3" 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_499_20211231_zg4HM3NIfYm2" 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"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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 style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;Short-term liabilities:&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_403_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_hus-gaap--ShortTermDebtTypeAxis__custom--NotesPayableMember_maNPCzD1Q_zbwtOyqZSQW" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 56%; text-align: left"&gt;Note payable, principal&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: 18%; text-align: right"&gt;229,560&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: 18%; text-align: right"&gt;231,871&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--InterestPayableCurrent_iI_pp0p0_hus-gaap--ShortTermDebtTypeAxis__custom--NotesPayableMember_maNPCzD1Q_zAaWfIJps8k8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Accrued interest on note&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;4,113&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;4,420&lt;/td&gt;&lt;td style="padding-bottom: 1.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_40F_eus-gaap--NotesPayableCurrent_iTI_pp0p0_hus-gaap--ShortTermDebtTypeAxis__custom--NotesPayableMember_mtNPCzD1Q_zQ4knwYxD8u2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Note payable, short-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 style="border-bottom: Black 2.5pt double; text-align: right"&gt;233,673&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;236,291&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 style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;Long-term liabilities:&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_40F_eus-gaap--DebtInstrumentFaceAmount_iI_hus-gaap--LongtermDebtTypeAxis__custom--NotesPayableMember_zYntDlpsWhqk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Note payable, principal&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;8,165,838&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;8,280,395&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,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 id="xdx_40D_eus-gaap--LongTermNotesPayable_iI_pp0p0_hus-gaap--LongtermDebtTypeAxis__custom--NotesPayableMember_zdycWHk8zM77" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;Note payable, 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 style="border-bottom: Black 2.5pt double; text-align: right"&gt;8,165,838&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;8,280,395&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:ScheduleOfDebtTableTextBlock>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2022-06-30_custom_NotesPayableMember"
      decimals="0"
      unitRef="USD">229560</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2021-12-31_custom_NotesPayableMember"
      decimals="0"
      unitRef="USD">231871</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:InterestPayableCurrent
      contextRef="AsOf2022-06-30_custom_NotesPayableMember"
      decimals="0"
      unitRef="USD">4113</us-gaap:InterestPayableCurrent>
    <us-gaap:InterestPayableCurrent
      contextRef="AsOf2021-12-31_custom_NotesPayableMember"
      decimals="0"
      unitRef="USD">4420</us-gaap:InterestPayableCurrent>
    <us-gaap:NotesPayableCurrent
      contextRef="AsOf2022-06-30_custom_NotesPayableMember"
      decimals="0"
      unitRef="USD">233673</us-gaap:NotesPayableCurrent>
    <us-gaap:NotesPayableCurrent
      contextRef="AsOf2021-12-31_custom_NotesPayableMember"
      decimals="0"
      unitRef="USD">236291</us-gaap:NotesPayableCurrent>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2022-06-30_custom_NotesPayableMember36707812"
      decimals="0"
      unitRef="USD">8165838</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2021-12-31_custom_NotesPayableMember36707828"
      decimals="0"
      unitRef="USD">8280395</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:LongTermNotesPayable
      contextRef="AsOf2022-06-30_custom_NotesPayableMember36707812"
      decimals="0"
      unitRef="USD">8165838</us-gaap:LongTermNotesPayable>
    <us-gaap:LongTermNotesPayable
      contextRef="AsOf2021-12-31_custom_NotesPayableMember36707828"
      decimals="0"
      unitRef="USD">8280395</us-gaap:LongTermNotesPayable>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_80B_eus-gaap--RelatedPartyTransactionsDisclosureTextBlock_zxbwW0WElAN" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
8. &lt;span id="xdx_820_zWLgS9qYlfQj"&gt;Related Party Transactions&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the six months ended June 30, 2022, the Company redeemed &lt;span id="xdx_90B_eus-gaap--StockRedeemedOrCalledDuringPeriodShares_pid_c20220101__20220630__srt--TitleOfIndividualAxis__custom--ChiefExecutiveOfficerAndChiefOperatingOfficerMember_zgW1AzxTQVlc" title="Stock reedemed or called during period shares"&gt;17,500&lt;/span&gt; previously awarded stock options nearing expiration from related parties
consisting of the Company&#x2019;s Co-CEO and COO. &#160;The redemption eliminated the stock options and resulted in a total of $&lt;span id="xdx_900_eus-gaap--AllocatedShareBasedCompensationExpense_pp0p0_c20220101__20220630_ziAit9TnknJe" title="Compensation expenses"&gt;47,800&lt;/span&gt;
in additional compensation expense. During the six months ended June 30, 2022, one Board member purchased &lt;span id="xdx_901_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20220101__20220630__srt--TitleOfIndividualAxis__custom--BoardMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zhLN2DkoMnXa" title="Stock issued during the period, new issues"&gt;5,000&lt;/span&gt; shares of common stock,
$&lt;span id="xdx_907_eus-gaap--CommonStockParOrStatedValuePerShare_iI_c20220630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember__srt--TitleOfIndividualAxis__custom--BoardMember_zj2spywvcTze" title="Common stock, par value"&gt;0.0001&lt;/span&gt; par value per share which was then issued to him for previously awarded stock options at an
exercise price of $&lt;span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_c20220101__20220630__srt--TitleOfIndividualAxis__custom--BoardMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zbvpKZ1n4u9h" title="Stock option exercised, value"&gt;12,725&lt;/span&gt; cash paid.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the six months ended June 30, 2021, the Company redeemed &lt;span id="xdx_909_eus-gaap--StockRedeemedOrCalledDuringPeriodShares_pid_c20210101__20210630__srt--TitleOfIndividualAxis__custom--ChiefExecutiveOfficerAndChiefOperatingOfficerMember_zQ8OJfGleijl" title="Stock reedemed or called during period shares"&gt;17,500&lt;/span&gt; previously awarded stock options nearing expiration from related parties
consisting of the Company&#x2019;s Co-CEO and COO. The redemption eliminated the stock options and resulted in a total of $&lt;span id="xdx_900_eus-gaap--AllocatedShareBasedCompensationExpense_pp0p0_c20210101__20210630_z0J6YDpX8XVc" title="Compensation expenses"&gt;116,717&lt;/span&gt; in
additional compensation expense. During the six months ended June 30, 2021, one Board member purchased &lt;span id="xdx_907_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20210101__20210630__srt--TitleOfIndividualAxis__custom--BoardMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z2LnMAyA3lt2" title="Stock issued during the period, new issues"&gt;5,000&lt;/span&gt; shares of Common Stock,
which was then issued to him for previously awarded stock options at an exercise price of $&lt;span id="xdx_902_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_c20210101__20210630__srt--TitleOfIndividualAxis__custom--BoardMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zFaBXpimhPI5" title="Stock option exercised, value"&gt;6,070&lt;/span&gt; cash paid.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:StockRedeemedOrCalledDuringPeriodShares
      contextRef="From2022-01-012022-06-30_custom_ChiefExecutiveOfficerAndChiefOperatingOfficerMember"
      decimals="INF"
      unitRef="Shares">17500</us-gaap:StockRedeemedOrCalledDuringPeriodShares>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">47800</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2022-01-012022-06-30_custom_BoardMember_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">5000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2022-06-30_us-gaap_CommonStockMember_custom_BoardMember"
      decimals="INF"
      unitRef="USDPShares">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-01-012022-06-30_custom_BoardMember_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">12725</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockRedeemedOrCalledDuringPeriodShares
      contextRef="From2021-01-012021-06-30_custom_ChiefExecutiveOfficerAndChiefOperatingOfficerMember"
      decimals="INF"
      unitRef="Shares">17500</us-gaap:StockRedeemedOrCalledDuringPeriodShares>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">116717</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2021-01-012021-06-30_custom_BoardMember_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">5000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2021-01-012021-06-30_custom_BoardMember_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">6070</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_801_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_z5MAiWpDYhPf" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
9. &lt;span id="xdx_82A_zjVKwJp3LjDa"&gt;Commitments and Contingencies&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;General
or Threatened Litigation&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;From
time to time, the Company is notified of threatened litigation or that a claim is being made against it. The Company evaluates contingencies
on an on-going basis and has established loss provisions for matters in which losses are probable and the amount of loss can be reasonably
estimated. There is no threatened litigation at this time.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;Restricted
Stock Unit Grants&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company granted &lt;span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_pid_c20210831__srt--TitleOfIndividualAxis__custom--CoChiefExecutiveOfficerMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z8bdVtzENr0j" title="Number of shares authorized"&gt;224,133&lt;/span&gt;
and &lt;span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_pid_c20210831__srt--TitleOfIndividualAxis__srt--ChiefOperatingOfficerMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z04K1QWzkZd6" title="Number of shares authorized"&gt;168,090&lt;/span&gt;&#160;&#160;
performance-based restricted stock units (&#x201c;RSUs&#x201d;) in August 2021 to one of its Co-Chief Executive Officers and Chief
Operating Officer, respectively. The Company granted &lt;span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_pid_c20220430__srt--TitleOfIndividualAxis__custom--CoChiefExecutiveOfficerMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zcfrujNlGpIa" title="Number of shares authorized"&gt;288,889&lt;/span&gt;
performance-based RSUs in April 2022 to its other Co-Chief Executive Officer. It is the Company&#x2019;s policy to estimate the fair
value of the RSU&#x2019;s on the date of the grant and evaluate the probability of achieving the net profit (net income under GAAP)
tranches quarterly. If the target is deemed probable, the expense is amortized on a straight-line basis over the remaining time
period. The Company determined based on the vesting terms of the RSU grants that achieving net profit (net income under GAAP) for
the twelve months ending June 30, 2022, of $&lt;span id="xdx_909_eus-gaap--NetIncomeLoss_c20220101__20220630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember__us-gaap--AwardDateAxis__custom--JuneThirtyTwoThousandAndTwentyTwoMember_zo0wPldYIdH4" title="Net income"&gt;2,500,000&lt;/span&gt;
is probable, and recorded expense for the three months and six months ending June 30, 2022, of $26,250 and $&lt;span id="xdx_90B_eus-gaap--ShareBasedCompensation_c20220101__20220630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z8JvMPRA1dj2"&gt;70,497&lt;/span&gt;, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;Profit
Sharing&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;VirTra
provides a discretionary profit-sharing program that pays out a percentage of Company profits each year as a cash bonus to eligible
employees. The cash payment is typically split into two equal payments and distributed pro-rata in April and October of the
following year to only active employees. For the six months ended June 30, 2022 and 2021, $&lt;span id="xdx_901_eus-gaap--OperatingExpenses_c20220101__20220630__us-gaap--DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis__us-gaap--DeferredProfitSharingMember_zSwArpTkdJWg" title="Operating expenses"&gt;150,000&lt;/span&gt;
and $&lt;span id="xdx_907_eus-gaap--OperatingExpenses_c20210101__20210630__us-gaap--DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis__us-gaap--DeferredProfitSharingMember_zzcn6fvMLIF5" title="Operating expenses"&gt;150,000&lt;/span&gt;
was expensed to operations for profit sharing. For the three months ended March 31, 2022, $&lt;span id="xdx_90E_eus-gaap--OperatingExpenses_c20220101__20220331__us-gaap--DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis__us-gaap--DeferredProfitSharingMember_z0r218b8c6i8"&gt;75,000&lt;/span&gt; was expensed to operations for profit sharing. For the three months
ended March 31, 2021, &lt;span id="xdx_901_eus-gaap--OperatingExpenses_do_c20210101__20210331__us-gaap--DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis__us-gaap--DeferredProfitSharingMember_zDQIC6R8WAIk"&gt;no&lt;/span&gt; amount was expenses to operations due to uncertainty related to on-going COVID restrictions.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="AsOf2021-08-31_custom_CoChiefExecutiveOfficerMember_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      unitRef="Shares">224133</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="AsOf2021-08-31_srt_ChiefOperatingOfficerMember_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      unitRef="Shares">168090</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="AsOf2022-04-30_custom_CoChiefExecutiveOfficerMember_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      unitRef="Shares">288889</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-06-30_us-gaap_RestrictedStockUnitsRSUMember_custom_JuneThirtyTwoThousandAndTwentyTwoMember"
      decimals="0"
      unitRef="USD">2500000</us-gaap:NetIncomeLoss>
    <us-gaap:ShareBasedCompensation
      contextRef="From2022-01-012022-06-30_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="0"
      unitRef="USD">70497</us-gaap:ShareBasedCompensation>
    <us-gaap:OperatingExpenses
      contextRef="From2022-01-012022-06-30_us-gaap_DeferredProfitSharingMember"
      decimals="0"
      unitRef="USD">150000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="From2021-01-012021-06-30_us-gaap_DeferredProfitSharingMember"
      decimals="0"
      unitRef="USD">150000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="From2022-01-012022-03-31_us-gaap_DeferredProfitSharingMember"
      decimals="0"
      unitRef="USD">75000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="From2021-01-012021-03-31_us-gaap_DeferredProfitSharingMember"
      decimals="0"
      unitRef="USD">0</us-gaap:OperatingExpenses>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_804_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_z66tHZXh6fU1" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
10. &lt;span id="xdx_821_za96RPEJmLIc"&gt;Stockholders&#x2019; Equity&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;Stock
Repurchase&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;On
October 25, 2016, the Company&#x2019;s Board of Directors authorized the repurchase of up to $&lt;span id="xdx_904_eus-gaap--StockRepurchasedDuringPeriodValue_pn6n6_c20161024__20161025__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember__srt--RangeAxis__srt--MaximumMember_zSAJ3SgC1wh7" title="Stock repurchased during period, value"&gt;1&lt;/span&gt; million of its common stock under Rule
10b-18 promulgated under the Securities Exchange Act of 1934, as amended. Purchases made pursuant to this authorization will be made
in the open market, in privately negotiated transactions, or pursuant to any trading plan that may be adopted in accordance with the
Rule 10b-18. The timing, manner, price and amount of any repurchases will be determined by the Company in its discretion and will be
subject to economic and market conditions, stock price, applicable legal requirements and other factors. On January 9, 2019, VirTra&#x2019;s
Board of Directors authorized an additional $&lt;span id="xdx_908_eus-gaap--StockRepurchasedDuringPeriodValue_pn6n6_c20190108__20190109__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember__srt--RangeAxis__srt--MaximumMember_zA7Z6Vu1XKqb" title="Stock repurchased during period, value"&gt;1&lt;/span&gt; million be allocated for the repurchase of VirTra&#x2019;s stock under the existing 10b-18
plan. The stock repurchase program was suspended as a result of interim rulings for public-company recipients of a PPP loan under the
CARES Act. The stock repurchase suspension remained in effect until the PPP loan was forgiven on July 20, 2021, and has continued to
remain in effect.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;Treasury
Stock&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the six months ended June 30, 2022, the Company purchased no additional treasury shares.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;Non-qualified
Stock Options&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has periodically issued non-qualified stock options to key employees, officers and directors under a stock option compensation
plan approved by the Board of Directors in 2009. Terms of option grants are at the discretion of the Board of Directors and are generally
seven years. Upon the exercise of these options, the Company expects to issue new authorized shares of its common stock. The following
table summarizes all non-qualified stock options as of:&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_893_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zRNq8KAYmY24" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BD_z2jaGcJoQNm8" style="display: none"&gt;Schedule
of Non-qualified Stock Options&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Number of&lt;/p&gt;
                                               &lt;p style="margin-top: 0; margin-bottom: 0"&gt;Stock&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Weighted&lt;/p&gt;
                                               &lt;p style="margin-top: 0; margin-bottom: 0"&gt;Exercise&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Number of&lt;/p&gt;
                                               &lt;p style="margin-top: 0; margin-bottom: 0"&gt;Stock&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Weighted&lt;/p&gt;
                                               &lt;p style="margin-top: 0; margin-bottom: 0"&gt;Exercise&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Options&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Price&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Options&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Price&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 36%; text-align: left"&gt;Options outstanding, beginning of year&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_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_z1eMf54NhIc1" style="width: 12%; text-align: right" title="Number of stock options, options outstanding, beginning of year"&gt;112,500&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_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zfF7gkeByxX7" style="width: 12%; text-align: right" title="Weighted exercise price option outstanding, beginning of year"&gt;3.51&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 id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zhOHqEdNUjlc" style="width: 12%; text-align: right" title="Number of stock options, options outstanding, beginning of year"&gt;164,167&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_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zqXgP8pJYPI6" style="width: 12%; text-align: right" title="Weighted exercise price option outstanding, beginning of year"&gt;3.13&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&gt;Granted&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--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zXoHjamxLVUg" style="text-align: right" title="Number of stock options, granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1246"&gt;-&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_98C_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zlh4ey955LLa" style="text-align: right" title="Weighted exercise price, granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1248"&gt;-&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_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zkW1FhoMFSDh" style="text-align: right" title="Number of stock options, granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1250"&gt;-&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_986_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zhvf0vL4djx4" style="text-align: right" title="Weighted exercise price, granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1252"&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(204,238,255)"&gt;
    &lt;td&gt;Redeemed&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_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zk9kqlTjz493" style="text-align: right" title="Number of stock options, redeemed"&gt;(17,500&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 id="xdx_982_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zh3xpgvEi8O4" style="text-align: right" title="Weighted exercise price redeemed"&gt;2.55&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_988_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_z9bBPwCjJUvi" style="text-align: right" title="Number of stock options, redeemed"&gt;(17,500&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 id="xdx_988_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zKN0GWn3KG32" style="text-align: right" title="Weighted exercise price redeemed"&gt;1.21&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;Exercised&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--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zUx7A0Jt1NLl" style="text-align: right" title="Number of stock options, exercised"&gt;(5,000&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 id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zn82pgYEGMT5" style="text-align: right" title="Weighted exercise price exercised"&gt;2.55&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_98F_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zzldUJfgeExb" style="text-align: right" title="Number of stock options, exercised"&gt;(5,000&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 id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zkVvaGhe8AV6" style="text-align: right" title="Weighted exercise price exercised"&gt;1.21&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(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Expired / terminated&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zqijlpRFD1Lj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of stock options, expired / terminated"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1270"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zkPANKQduDNj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted exercise price expired / terminated"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1272"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zcEzdti7CjG" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of stock options, expired / terminated"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1274"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zN9DAgugP88d" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted exercise price expired / terminated"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1276"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.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="padding-bottom: 2.5pt"&gt;Options outstanding, end of period&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_iE_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zYcrv0WRKmSa" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of stock options options  outstanding end of period"&gt;90,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_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zGTMDZQrhkvj" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted exercise price, option outstanding end of period"&gt;3.76&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 id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zsOsQDtz9Q2i" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of stock options options  outstanding end of period"&gt;141,667&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--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zLbYuUHd7P97" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted exercise price, option outstanding end of period"&gt;3.43&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(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Options exercisable, end of period&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zQsYi3sKfjjl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of stock options options exercisable end of period"&gt;90,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_pid_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zp1j55MyMC86" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted exercise price, options exercisable, end of period"&gt;3.76&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zN14SyZxekPi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of stock options options exercisable end of period"&gt;141,667&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_pid_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zJMHTh0l3md8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted exercise price, options exercisable, end of period"&gt;3.43&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A6_zcQXL7DCcvPa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company did not have any non-vested stock options outstanding as of June 30, 2022 and December 31, 2021. The weighted average contractual
term for options outstanding and exercisable at June 30, 2022 and 2021 was &lt;span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220101__20220630_zEjdeUuvm7x6" title="Options outstanding weighted average contractual term"&gt;&lt;span id="xdx_90F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20220101__20220630_zcflp9enKZCe" title="Options exercisable weighted average contractual term"&gt;&lt;span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20210101__20210630_zgNrAfxxUjaj" title="Options outstanding weighted average contractual term"&gt;&lt;span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20210101__20210630_zzvQU8s6kHwk" title="Options exercisable weighted average contractual term"&gt;7&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; years. The aggregate intrinsic value of the options outstanding
and exercisable at June 30, 2022 and 2021 was $&lt;span id="xdx_90D_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue_iI_pp0p0_c20220630_zT3xerh2YoR4" title="Exercisable and outstanding Intriinsic value"&gt;56,700&lt;/span&gt; and $&lt;span id="xdx_90A_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue_iI_pp0p0_c20210630_zUh41jsECfy4" title="Exercisable and outstanding intriinsic value"&gt;557,707&lt;/span&gt;, respectively. The total intrinsic value of options exercised and redeemed
during the six months ended June 30, 2022 and 2021 was $&lt;span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_pp0p0_c20220101__20220630_zyoY9fOVyOfj" title="Intriinsic value"&gt;141,272&lt;/span&gt; and $&lt;span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_pp0p0_c20210101__20210630_zgZ31qTfziZ" title="Intriinsic value"&gt;27,315&lt;/span&gt;, respectively. For the three months ended June 30, 2022 and 2021,
the Company received payments related to the exercise of options in the amount of $&lt;span id="xdx_90A_eus-gaap--ProceedsFromStockOptionsExercised_pp0p0_c20220401__20220630_z4AXxhkgin52" title="Proceeds from stock options exrercised"&gt;4,750&lt;/span&gt; and $&lt;span id="xdx_90A_eus-gaap--ProceedsFromStockOptionsExercised_pp0p0_c20210401__20210630_zFigMmoFldLd" title="Proceeds from stock options exrercised"&gt;2,450&lt;/span&gt;, respectively. The aggregate intrinsic
value is calculated as the difference between the exercise price of the underlying options and the fair value of the Company&#x2019;s
common stock for those stock options that have an exercise price lower than the fair value of the Company&#x2019;s common stock. Options
with an exercise price above the fair value of the Company&#x2019;s common stock are considered to have no intrinsic value.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;2017
Equity Incentive Plan&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Through
June 30, 2022, &lt;span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_c20220630__us-gaap--PlanNameAxis__custom--TwoThousandAndSeventeenEquityIncentivePlanMember__srt--TitleOfIndividualAxis__custom--ChiefExecutiveOfficerOneMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_ztLcYByB3O97"&gt;224,133&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;,
&lt;span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_c20220630__us-gaap--PlanNameAxis__custom--TwoThousandAndSeventeenEquityIncentivePlanMember__srt--TitleOfIndividualAxis__custom--ChiefExecutiveOfficerTwoMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_z5EQoZEGg3a5"&gt;288,889&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;,
and &lt;span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_c20220630__us-gaap--PlanNameAxis__custom--TwoThousandAndSeventeenEquityIncentivePlanMember__srt--TitleOfIndividualAxis__srt--ChiefOperatingOfficerMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zgUjcLRtptUl" title="Stock issued during period shares based compensation authorized, shares"&gt;168,090
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;restricted stock awards and &lt;span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20220101__20220630__us-gaap--PlanNameAxis__custom--TwoThousandAndSeventeenEquityIncentivePlanMember__srt--TitleOfIndividualAxis__custom--ChiefExecutiveOfficerOneMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zQh0gQvhEDZ1"&gt;14,057
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;and &lt;span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20220101__20220630__us-gaap--PlanNameAxis__custom--TwoThousandAndSeventeenEquityIncentivePlanMember__srt--TitleOfIndividualAxis__srt--ChiefOperatingOfficerMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_z7LrwEQjh0k9" title="Stock issued during period shares restricted stock, shares"&gt;10,543
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;restricted shares have been granted under the
Equity Plan to the Company&#x2019;s Co-CEO&#x2019;s and COO, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;Common
stock activity&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;On
April 11, 2022, the Company issued Mr. Givens a signing bonus of &lt;span id="xdx_908_ecustom--StockIssuedDuringPeriodsharesForSigningBonus_c20220410__20220411__srt--TitleOfIndividualAxis__custom--Mr.GivensMember_zZiBU7rCBKp" title="Stock issued during period for signing bonus, shares"&gt;64,815&lt;/span&gt; shares of common stock, valued at $&lt;span id="xdx_903_eus-gaap--SharesIssuedPricePerShare_iI_c20220411__srt--TitleOfIndividualAxis__custom--Mr.GivensMember_zTMbgJhLBqF5" title="Shares issued price per shares"&gt;5.40&lt;/span&gt; per share for a total value of $&lt;span id="xdx_909_eus-gaap--IssuanceOfStockAndWarrantsForServicesOrClaims_pp2p0_c20220410__20220411__srt--TitleOfIndividualAxis__custom--Mr.GivensMember_zNHhJR5bFnf1" title="Stock issued for service"&gt;350,001&lt;/span&gt;, which are restricted from transfer until
the earlier of: i) 12 months of employment having lapsed or ii) the Company terminating employment with Mr. Givens without cause.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Mr.
Givens was also granted &lt;span id="xdx_90D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_pid_c20220410__20220411__us-gaap--PlanNameAxis__custom--EquityIncentivePlanMember__srt--TitleOfIndividualAxis__custom--Mr.GivensMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z8qt9Tu44Pv5" title="Number of shares granted"&gt;288,889&lt;/span&gt; performance-based restricted stock units &lt;span style="background-color: white"&gt;pursuant to VirTra&#x2019;s
2017 Equity Incentive Plan. &lt;/span&gt;&lt;span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights_pid_c20220410__20220411__us-gaap--PlanNameAxis__custom--EquityIncentivePlanMember__srt--TitleOfIndividualAxis__custom--Mr.GivensMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z2G3dDPMKw41" title="Restricted stock units vesting, description"&gt;Beginning on the last business day of August 2022, a tranche of restricted stock units, having an
approximate value of $40,000, based on current grant day prices, may vest if the Company has achieved net profit for the twelve months
ending June 30, 2022 of at least $2,500,000. For every $500,000 earned in excess of $2,500,000 another tranche will vest. If the maximum
net profit of $7,000,000 is achieved, ten tranches would vest. Similarly, on the last business day of August 2023, a tranche of restricted
stock units may vest if the Company has achieved a net profit of at least $3,000,000, with the potential to have additional tranches
vest up to a maximum of $9,000,000 in net profit. This vesting arrangement continues with the last business day of August 2024, with
the minimum net profit threshold being $3,500,000 and the maximum net profit being $11,000,000.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
vesting schedule notwithstanding, the Compensation Committee shall have the discretion to declare the vesting of any number of restricted
stock units should the Company experience unusual results of operations, such as falling below the net profit threshold one year and
exceeding the maximum net profit the following year, so long as the total number of restricted stock units declared to be vested does
not exceed the amount awarded. Additionally, &lt;span style="background-color: white"&gt;while a maximum net profit per year has been set for
allocation of the available shares at this time, it is very possible that the Company will exceed these levels during the next 3 years
and if such performance occurs, the Compensation Committee will meet to determine if additional compensation is in the best interests
of the Company at that time.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;On
March 31, 2021, the Company entered into a Securities Purchase Agreement (the &#x201c;Purchase Agreement&#x201d;) with certain institutional
investors (the &#x201c;Purchasers&#x201d;), pursuant to which the Company agreed to sell to the Purchasers an aggregate of &lt;span id="xdx_903_eus-gaap--SaleOfStockNumberOfSharesIssuedInTransaction_c20210331__20210331__us-gaap--TypeOfArrangementAxis__custom--SecuritiesPurchaseAgreementMember__srt--TitleOfIndividualAxis__custom--InstitutionalInvestorsMember__us-gaap--AwardTypeAxis__custom--RegisteredDirectorOfferingMember_z73TCJBHQ3E4" title="Number of shares sold"&gt;3,000,000&lt;/span&gt; shares
(the &#x201c;RDO Shares&#x201d;) of the Company&#x2019;s common stock, $&lt;span id="xdx_903_eus-gaap--CommonStockParOrStatedValuePerShare_iI_c20210331__us-gaap--TypeOfArrangementAxis__custom--SecuritiesPurchaseAgreementMember__srt--TitleOfIndividualAxis__custom--InstitutionalInvestorsMember__us-gaap--AwardTypeAxis__custom--RegisteredDirectorOfferingMember_zjdlIVY64Kse" title="Common stock par value"&gt;0.0001&lt;/span&gt; par value per share, at a price of $&lt;span id="xdx_90B_eus-gaap--SaleOfStockPricePerShare_iI_c20210331__us-gaap--TypeOfArrangementAxis__custom--SecuritiesPurchaseAgreementMember__srt--TitleOfIndividualAxis__custom--InstitutionalInvestorsMember__us-gaap--AwardTypeAxis__custom--RegisteredDirectorOfferingMember_zZQUW32Weaia" title="Sale of stock, price per share"&gt;6.00&lt;/span&gt; per share in a registered
director offering (the &#x201c;Offering&#x201d;). The RDO Shares were offered and sold by the Company pursuant to an effective shelf registration
statement on Form S-3 (File No. 333-238624), which was filed by the Company with the SEC on May 22, 2020 and subsequently declared effective
on June 2, 2020, and a related prospectus.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company also entered into a placement agent agreement (the &#x201c;Placement Agency Agreement&#x201d;) on March 31, 2021 with Roth Capital
Partners, LLC (&#x201c;Roth&#x201d;), pursuant to which Roth agreed to serve as placement agent for the issuance and sale of the RDO Shares.
The Company agreed to pay Roth an aggregate fee equal to &lt;span id="xdx_90C_eus-gaap--SaleOfStockPercentageOfOwnershipAfterTransaction_pid_dp_uPure_c20210331__20210331__us-gaap--TypeOfArrangementAxis__custom--PlacementAgencyAgreementMember__dei--LegalEntityAxis__custom--RothCapitalPartnersLLCMember_zyt3HkW1a8hg" title="Sale of stock, percentage"&gt;6.5&lt;/span&gt;% of the gross proceeds received by the Company from the sale of the securities
in the transaction. The Company also agreed to pay Roth a reimbursement for legal fees and expenses in an amount not to exceed $&lt;span id="xdx_90A_ecustom--ReimbursementLegalFeesAndExpenses_pp0p0_c20210331__20210331__us-gaap--TypeOfArrangementAxis__custom--PlacementAgencyAgreementMember__dei--LegalEntityAxis__custom--RothCapitalPartnersLLCMember__srt--RangeAxis__srt--MaximumMember_zJpkQBYs6hf5" title="Reimbursement legal fees and expenses"&gt;35,000&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Roth
acted as the lead placement agent in the Offering. Lake Street Capital Markets acted as co-placement agent for the Offering. Maxim Group
LLC acted as a financial advisor to the Company in connection with the Offering.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;A
prospectus supplement and the accompanying prospectus relating to and describing the terms of the Offering, dated March 31, 2021, was
filed with the SEC on April 2, 2021.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;On
April 5, 2021, the Company closed the Offering. The total gross proceeds of the Offering were $&lt;span id="xdx_90C_eus-gaap--ProceedsFromIssuanceInitialPublicOffering_pn5n6_c20210404__20210405__us-gaap--SubsidiarySaleOfStockAxis__custom--OfferingMember_zJpTrd1kj6c5" title="Proceeds from offering"&gt;18.0&lt;/span&gt; million, before deducting the placement
agents&#x2019; fees and other estimated Offering expenses which totalled $&lt;span id="xdx_902_eus-gaap--OtherExpenses_pp0p0_c20210404__20210405__us-gaap--SubsidiarySaleOfStockAxis__custom--OfferingMember_zv2t3e2SEBQ1" title="other expenses"&gt;1,205,000&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2016-10-242016-10-25_us-gaap_CommonStockMember_srt_MaximumMember"
      decimals="-6"
      unitRef="USD">1000000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2019-01-082019-01-09_us-gaap_CommonStockMember_srt_MaximumMember"
      decimals="-6"
      unitRef="USD">1000000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_893_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zRNq8KAYmY24" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BD_z2jaGcJoQNm8" style="display: none"&gt;Schedule
of Non-qualified Stock Options&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Number of&lt;/p&gt;
                                               &lt;p style="margin-top: 0; margin-bottom: 0"&gt;Stock&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Weighted&lt;/p&gt;
                                               &lt;p style="margin-top: 0; margin-bottom: 0"&gt;Exercise&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Number of&lt;/p&gt;
                                               &lt;p style="margin-top: 0; margin-bottom: 0"&gt;Stock&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Weighted&lt;/p&gt;
                                               &lt;p style="margin-top: 0; margin-bottom: 0"&gt;Exercise&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Options&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Price&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Options&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Price&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 36%; text-align: left"&gt;Options outstanding, beginning of year&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_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_z1eMf54NhIc1" style="width: 12%; text-align: right" title="Number of stock options, options outstanding, beginning of year"&gt;112,500&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_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zfF7gkeByxX7" style="width: 12%; text-align: right" title="Weighted exercise price option outstanding, beginning of year"&gt;3.51&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 id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zhOHqEdNUjlc" style="width: 12%; text-align: right" title="Number of stock options, options outstanding, beginning of year"&gt;164,167&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_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zqXgP8pJYPI6" style="width: 12%; text-align: right" title="Weighted exercise price option outstanding, beginning of year"&gt;3.13&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&gt;Granted&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--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zXoHjamxLVUg" style="text-align: right" title="Number of stock options, granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1246"&gt;-&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_98C_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zlh4ey955LLa" style="text-align: right" title="Weighted exercise price, granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1248"&gt;-&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_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zkW1FhoMFSDh" style="text-align: right" title="Number of stock options, granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1250"&gt;-&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_986_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zhvf0vL4djx4" style="text-align: right" title="Weighted exercise price, granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1252"&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(204,238,255)"&gt;
    &lt;td&gt;Redeemed&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_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zk9kqlTjz493" style="text-align: right" title="Number of stock options, redeemed"&gt;(17,500&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 id="xdx_982_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zh3xpgvEi8O4" style="text-align: right" title="Weighted exercise price redeemed"&gt;2.55&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_988_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_z9bBPwCjJUvi" style="text-align: right" title="Number of stock options, redeemed"&gt;(17,500&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 id="xdx_988_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zKN0GWn3KG32" style="text-align: right" title="Weighted exercise price redeemed"&gt;1.21&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;Exercised&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--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zUx7A0Jt1NLl" style="text-align: right" title="Number of stock options, exercised"&gt;(5,000&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 id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zn82pgYEGMT5" style="text-align: right" title="Weighted exercise price exercised"&gt;2.55&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_98F_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zzldUJfgeExb" style="text-align: right" title="Number of stock options, exercised"&gt;(5,000&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 id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zkVvaGhe8AV6" style="text-align: right" title="Weighted exercise price exercised"&gt;1.21&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(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;Expired / terminated&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zqijlpRFD1Lj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of stock options, expired / terminated"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1270"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zkPANKQduDNj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted exercise price expired / terminated"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1272"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zcEzdti7CjG" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of stock options, expired / terminated"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1274"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zN9DAgugP88d" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted exercise price expired / terminated"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1276"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.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="padding-bottom: 2.5pt"&gt;Options outstanding, end of period&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_iE_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zYcrv0WRKmSa" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of stock options options  outstanding end of period"&gt;90,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_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zGTMDZQrhkvj" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted exercise price, option outstanding end of period"&gt;3.76&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 id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zsOsQDtz9Q2i" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of stock options options  outstanding end of period"&gt;141,667&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--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zLbYuUHd7P97" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted exercise price, option outstanding end of period"&gt;3.43&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(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Options exercisable, end of period&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zQsYi3sKfjjl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of stock options options exercisable end of period"&gt;90,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_pid_c20220101__20220630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zp1j55MyMC86" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted exercise price, options exercisable, end of period"&gt;3.76&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zN14SyZxekPi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of stock options options exercisable end of period"&gt;141,667&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_pid_c20210101__20210630__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zJMHTh0l3md8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted exercise price, options exercisable, end of period"&gt;3.43&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2021-12-31_custom_NonQualifiedStockOptionMember"
      decimals="INF"
      unitRef="Shares">112500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2021-12-31_custom_NonQualifiedStockOptionMember"
      decimals="INF"
      unitRef="USDPShares">3.51</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2020-12-31_custom_NonQualifiedStockOptionMember"
      decimals="INF"
      unitRef="Shares">164167</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2020-12-31_custom_NonQualifiedStockOptionMember"
      decimals="INF"
      unitRef="USDPShares">3.13</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <VTSI:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross
      contextRef="From2022-01-012022-06-30_custom_NonQualifiedStockOptionMember"
      decimals="INF"
      unitRef="Shares">-17500</VTSI:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross>
    <VTSI:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue
      contextRef="From2022-01-012022-06-30_custom_NonQualifiedStockOptionMember"
      decimals="INF"
      unitRef="USDPShares">2.55</VTSI:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue>
    <VTSI:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross
      contextRef="From2021-01-012021-06-30_custom_NonQualifiedStockOptionMember"
      decimals="INF"
      unitRef="Shares">-17500</VTSI:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross>
    <VTSI:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue
      contextRef="From2021-01-012021-06-30_custom_NonQualifiedStockOptionMember"
      decimals="INF"
      unitRef="USDPShares">1.21</VTSI:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2022-01-012022-06-30_custom_NonQualifiedStockOptionMember"
      decimals="INF"
      unitRef="Shares">5000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="From2022-01-012022-06-30_custom_NonQualifiedStockOptionMember"
      decimals="INF"
      unitRef="USDPShares">2.55</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2021-01-012021-06-30_custom_NonQualifiedStockOptionMember"
      decimals="INF"
      unitRef="Shares">5000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="From2021-01-012021-06-30_custom_NonQualifiedStockOptionMember"
      decimals="INF"
      unitRef="USDPShares">1.21</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2022-06-30_custom_NonQualifiedStockOptionMember"
      decimals="INF"
      unitRef="Shares">90000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2022-06-30_custom_NonQualifiedStockOptionMember"
      decimals="INF"
      unitRef="USDPShares">3.76</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2021-06-30_custom_NonQualifiedStockOptionMember"
      decimals="INF"
      unitRef="Shares">141667</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2021-06-30_custom_NonQualifiedStockOptionMember"
      decimals="INF"
      unitRef="USDPShares">3.43</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="AsOf2022-06-30_custom_NonQualifiedStockOptionMember"
      decimals="INF"
      unitRef="Shares">90000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="AsOf2022-06-30_custom_NonQualifiedStockOptionMember"
      decimals="INF"
      unitRef="USDPShares">3.76</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="AsOf2021-06-30_custom_NonQualifiedStockOptionMember"
      decimals="INF"
      unitRef="Shares">141667</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="AsOf2021-06-30_custom_NonQualifiedStockOptionMember"
      decimals="INF"
      unitRef="USDPShares">3.43</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="From2022-01-01to2022-06-30">P7Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1 contextRef="From2022-01-01to2022-06-30">P7Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="From2021-01-012021-06-30">P7Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1 contextRef="From2021-01-012021-06-30">P7Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <VTSI:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">56700</VTSI:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue>
    <VTSI:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue contextRef="AsOf2021-06-30" decimals="0" unitRef="USD">557707</VTSI:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="From2022-01-01to2022-06-30"
      decimals="0"
      unitRef="USD">141272</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="From2021-01-012021-06-30"
      decimals="0"
      unitRef="USD">27315</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">4750</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="From2021-04-012021-06-30"
      decimals="0"
      unitRef="USD">2450</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="AsOf2022-06-30_custom_TwoThousandAndSeventeenEquityIncentivePlanMember_custom_ChiefExecutiveOfficerOneMember_us-gaap_RestrictedStockMember"
      decimals="INF"
      unitRef="Shares">224133</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="AsOf2022-06-30_custom_TwoThousandAndSeventeenEquityIncentivePlanMember_custom_ChiefExecutiveOfficerTwoMember_us-gaap_RestrictedStockMember"
      decimals="INF"
      unitRef="Shares">288889</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="AsOf2022-06-30_custom_TwoThousandAndSeventeenEquityIncentivePlanMember_srt_ChiefOperatingOfficerMember_us-gaap_RestrictedStockMember"
      decimals="INF"
      unitRef="Shares">168090</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="From2022-01-012022-06-30_custom_TwoThousandAndSeventeenEquityIncentivePlanMember_custom_ChiefExecutiveOfficerOneMember_us-gaap_RestrictedStockMember"
      decimals="INF"
      unitRef="Shares">14057</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="From2022-01-012022-06-30_custom_TwoThousandAndSeventeenEquityIncentivePlanMember_srt_ChiefOperatingOfficerMember_us-gaap_RestrictedStockMember"
      decimals="INF"
      unitRef="Shares">10543</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <VTSI:StockIssuedDuringPeriodsharesForSigningBonus
      contextRef="From2022-04-102022-04-11_custom_Mr.GivensMember"
      decimals="INF"
      unitRef="Shares">64815</VTSI:StockIssuedDuringPeriodsharesForSigningBonus>
    <us-gaap:SharesIssuedPricePerShare
      contextRef="AsOf2022-04-11_custom_Mr.GivensMember"
      decimals="INF"
      unitRef="USDPShares">5.40</us-gaap:SharesIssuedPricePerShare>
    <us-gaap:IssuanceOfStockAndWarrantsForServicesOrClaims
      contextRef="From2022-04-102022-04-11_custom_Mr.GivensMember"
      decimals="2"
      unitRef="USD">350001</us-gaap:IssuanceOfStockAndWarrantsForServicesOrClaims>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="From2022-04-102022-04-11_custom_EquityIncentivePlanMember_custom_Mr.GivensMember_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      unitRef="Shares">288889</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights contextRef="From2022-04-102022-04-11_custom_EquityIncentivePlanMember_custom_Mr.GivensMember_us-gaap_RestrictedStockUnitsRSUMember">Beginning on the last business day of August 2022, a tranche of restricted stock units, having an
approximate value of $40,000, based on current grant day prices, may vest if the Company has achieved net profit for the twelve months
ending June 30, 2022 of at least $2,500,000. For every $500,000 earned in excess of $2,500,000 another tranche will vest. If the maximum
net profit of $7,000,000 is achieved, ten tranches would vest. Similarly, on the last business day of August 2023, a tranche of restricted
stock units may vest if the Company has achieved a net profit of at least $3,000,000, with the potential to have additional tranches
vest up to a maximum of $9,000,000 in net profit. This vesting arrangement continues with the last business day of August 2024, with
the minimum net profit threshold being $3,500,000 and the maximum net profit being $11,000,000.</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="From2021-03-312021-03-31_custom_SecuritiesPurchaseAgreementMember_custom_InstitutionalInvestorsMember_custom_RegisteredDirectorOfferingMember"
      decimals="INF"
      unitRef="Shares">3000000</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2021-03-31_custom_SecuritiesPurchaseAgreementMember_custom_InstitutionalInvestorsMember_custom_RegisteredDirectorOfferingMember"
      decimals="INF"
      unitRef="USDPShares">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="AsOf2021-03-31_custom_SecuritiesPurchaseAgreementMember_custom_InstitutionalInvestorsMember_custom_RegisteredDirectorOfferingMember"
      decimals="INF"
      unitRef="USDPShares">6.00</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="From2021-03-312021-03-31_custom_PlacementAgencyAgreementMember_custom_RothCapitalPartnersLLCMember"
      decimals="INF"
      unitRef="Pure">0.065</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <VTSI:ReimbursementLegalFeesAndExpenses
      contextRef="From2021-03-312021-03-31_custom_PlacementAgencyAgreementMember_custom_RothCapitalPartnersLLCMember_srt_MaximumMember"
      decimals="0"
      unitRef="USD">35000</VTSI:ReimbursementLegalFeesAndExpenses>
    <us-gaap:ProceedsFromIssuanceInitialPublicOffering
      contextRef="From2021-04-042021-04-05_custom_OfferingMember"
      decimals="-5"
      unitRef="USD">18000000.0</us-gaap:ProceedsFromIssuanceInitialPublicOffering>
    <us-gaap:OtherExpenses
      contextRef="From2021-04-042021-04-05_custom_OfferingMember"
      decimals="0"
      unitRef="USD">1205000</us-gaap:OtherExpenses>
    <us-gaap:SubsequentEventsTextBlock contextRef="From2022-01-01to2022-06-30">&lt;p id="xdx_805_eus-gaap--SubsequentEventsTextBlock_zDFUnHFy9TD5" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
11. &lt;span id="xdx_82D_zzYvCsGFZOn7"&gt;Subsequent Events&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;None.&lt;/span&gt;&lt;/p&gt;

</us-gaap:SubsequentEventsTextBlock>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>57
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( !I($U4'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    "  :2!-5(^8[3.\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9)1
M2\,P$,>_BN2]O:05T=#E9<,G!<&!XEM(;EM8TX;DI-VW-ZU;A^@'\#%W__SN
M=W"-"=+T$5]B'S"2PW0S^K9+TH05.Q %"9#, ;U.94YTN;GKH]>4GW$/09NC
MWB-4G-^!1])6DX8)6(2%R%1CC301-?7QC+=FP8?/V,XP:P!;]-A1 E$*8&J:
M&$YCV\ 5,,$(HT_?!;0+<:[^B9T[P,[),;DE-0Q#.=1S+N\@X/WYZ75>MW!=
M(MT9S+^2DW0*N&*7R6_U>K-]9*KB557P^T(\;$4M.9>W_&-R_>%W%?:]=3OW
MCXTO@JJ!7W>AO@!02P,$%     @ &D@359E<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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
M'RYX.N-E,T#\?UX4]?.3YGN<#M\]=OT?4$L#!!0    ( !I($U5G4^>GDPD
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
M/[=!,K)M5W]HJ2JM4)%"W8*,^^A[2BF=0KP&K/FJ=M+K%9>]IUE'Y[V53'$
M0<J)K%#KQ<4WOX2P]D ?0UQ M<=18: ^64U!^JTC3):!)FXIR*2^W.DPS<&^
M(B<YN"8'5.-U162S3#?\<D"]#JN(BTC>%8$IBI'C[<CI23E@6U8[]ER8=-6O
MM3KC<$7#:7U#*YT;$R)_[HIN"8\G]M59222*.HD\P9:72*L(&]:W)+I!'+(8
MR /B-M(*$X-DG#QR@YW7]YHBC%D$%]O3TZ#?&8YZ$;'3I$0_>V8W'M&2NME7
MK6UW^PYS=@M(71(A #=-#XX-P .J._8J;E%6[:H!:'Q,ML(=RJ:JB>8QG[7<
MJ*EILS0$U6:=$G'M/B8%97C,X8L$8D,0@;HLV+U[Q@.]I,*7"(8\C8%R:I.I
M)OW:WXV7L^=?]"P+X*4G#42Q:>8BK<ETZ/SHFF,P)9T*Y'63AOX3Q2L"5LUU
M-N/;UW PRP=!0O1!JJ_ ;3R)2_-J[QM<[X)A>JW]&V*+:8U0]ZK"CY#5^WW[
M=U<WKT+".CGV=95+H=)G+%<W@;%$L^$L]L*ZTN!X3Z]]7?KD(U)$IC#@:7\F
M>A!DP"*_I& =L#H'WV01E.XWSB>%4JFV5O+<CH6$)]6Z01FZ=UUB-HIH;J>!
M^]PUL$( 2??[PG2&=,+PS 0%T %:J+.1Z]EX#V<3A :$_ROJS>3#OA!M1?Y4
MF]!<4:XG<<JO$#>IAHG<3$>%E=H1<T(-!V.MA3EX&47E:0!2?/Q:#XWJ'AK[
ML\1=GXTIVP-TQ]X%]'>C__'UA$6[/D-H,W!U_P2^GMJG45\!%O/8-<?=,VL<
MQ;5PY,$E56 ?/#W2AHNM5H=M]YHFT8.3&61E&NW[/EW4YM3IF02[0G<FP0V(
MC%:N:I*;3Q?B[F1%0E+7N!"#TUO242-SFK]2A*O(GP$%S_!OZ:^-)'2*A[#"
M97/8:Q\GC3YWTD1'@ =W0(,1=.K"S/JV(DMRX]<Y@_.3OIQ4W3RCI.\W0A$$
M0&[A9]01>10&G*,[GNRMFK,B^]2^+9%H"^)J-WPJ0]E9<B:]&:A<9,X[%&5H
M[J %!'ICD]0E>)W/O:A%\*+Q)T"T D&S=CT*U[KTN>2)SUC<6S.W;"*RC)?9
MS_MT0(7J/C74Q99VCQOBFTA:- 8-LT6% CB3=E94OG>1GQ>-3R20]6B#49^F
M/,DU>$'=D\H9#%2M)/T20M85Y3Q2RPI870,,<A<$KFE93/B'(T:4P\Y9EZ1P
M<1=<R_M(W>6S'Z+K7G;\/0Q5O_(H"J2][!?=>&>*[CO3)V!4@M1:3GXYL%1%
M]/X>4CN8\I ^K#'N5O=+!+:#.!(U9Z3S3S$9.'OKS!*=\K0#*@A1<G04UO)N
MA<*L T>\;^)#]-IY.\W?]W7:%9GWW'9/;2+L@!U%U*T9@5K:5RX'$5("A?5Q
MN2^)7]R?.:LK+F!/6)Y#B9.N#KLF9#\QY;YM/"CH1&$C'S!47'*TQ'NI:Y\_
MC=C;A3I&=75 :4P'!M)*D6(#L8L/O%W#L"!RT,H] $B'US\$]5-S]7PT(JF[
M -3)S'$R>>ZH@^$XXH.N#>WM'C$+]K8A+W ,/6.P$_&5I_=VZZJV,ZGD>7CE
M?EP^SBY9L&6X17#>=66/X4AAZQ[4='E*!'#=9.0,US"DS]TU"TFF_I"=1>EP
MZ))6F+M:-7R6A>*6&IQT;D:]%]2/H=3<N6VL=*G7",RND.DOHHX7:22W2$_>
M4VD>YAK>?75X:'=$CPZY5OJDZSJ_.K+1L6])I?.87PVB=]ZJ'<#5_P[@Q\SP
MU%G- [QVZ/XF<JD DM-X&/Z2KB"Y;NWW!\L SV_1$^>?MO^,ZEW7(#K'] B"
MKIK@!CEW3:6U).^'NT5>9-_-]V;I,R1$->(N<?^#@Y>8W+^SL^OU5ZVEOI6?
M/(SQ]?G;--M&@9_;QG4G3K!FR;X="O/JJ&?$G1ZJ5_T)CB.*_>:]8SY0/X64
MJI2SD1KSE-0+BXZ&WC\"M_W:"BCD51T)D@LVIDAKJH\I+CD?].=3<E)_IAH^
MWEDXJWY8-U!\+?QMKV\4$>(U$ENWVM2*S7^9@OEHONOC&KL9V?5-8(QNUM[+
MT?'+J)GH"@$\BQ-O$(<\CGHO52FW:DA)L.W9 @1+IIM-K3?AZ,B7R?=*N[Q[
ML>>W$JW.] <H@1L^G@]T+':=K9@\&[N1HJI_PM>O5%QS-)+FJ/3)I/T8;LO0
MM82JMB=0XHYI@JRV'W=\@.]89,.H!1EN*9)X^.?'ZNDUW""$WVBH4D+#A4\X
M_[;&;[(MN+^42<=OJ>XM&WW<UEK[B[#'S=&(FZ/4#J9XZ>_P_=3=4GE_=#_L
M8T6W [[[S8[<V@>EXC_5.)Z.DC@9#O%[$D]&HW@T'O/O\_$\'@\3_#Z+9XMA
M/!M/\/MT,HX7RZ&,'.+_RQ&]#:PM>=PD3J:3>)), Y$]%Y-IY]/)3,TG\W@Q
M7ZC1/)[ASP6F&LZ':C3%IW,UFX_C)?VYB)>SJ9KCYV0QZK%'=9+'7@+^\1BR
M)2-,A]TEBQG_?:F2R0PSCQ5M&Q,GLWD\3\9'?%X=,9SQ-![3^Y-EO(!$XV4\
M7.+':!*/%G.ZQS3$IS3_<KC$_*-A$B^GH^@_.;MZBB09F+9]Z?XW@D:'W6^1
MF-6CBO5+<RZ6^'V$36,_4['2$IH;3L@:\WBYA)46I/GI8AXGR9!M,$V2>)C0
M&\ET'@]G"_H\'DVG<;(< 1!?__\!$:)!<2.&TX20$,^7"6]]!L@MQ[2%9$0V
MC.G<Y)]J <U/1[*S9)%@SU/63K( !I,%:X>>)[/DVUB<85;@%QXP7\ #%FH"
MHP\7>#!=8)GY4@&E,ZR;  O0[W2B (<AEL20"199#K\#DR/L<0;]+AF2X/[\
M-[":8(=3N,(8DXW5#)8<+Y>/0!+"C"#=9#B/)P1N_!P!D],9P#&<DFB+V006
MA1*'<P47(.B,%Z-X"=-^"YAP7P=,_NT!, &D!*[+[@Y7&D,=XRD#=CB<LFO!
M#)-X/D7,2,A2RV3.^R*+3,BP8XX9\7A, LWHC7@&' , = X<??LD*>[=X:.K
M""%W$36A&V3YD6SPE4YH_-U).AKV9)K/@ZC+GGCP(]]HCOQMFNY):+@P_[%,
M5/9GFS%$6*E%S/>C0KNE?PV1WKA!O9+51JZT??1&?QO&7;M+P70K*1SU?WP;
M#H@C=S1')D8V<ETJ+EOD%B96HO/WXC#H>NA!6,*M)W-\I3,T=GR[Y^ Z.U)X
MW*\O[R?8CJ&>2ZZ?J5OJ^8/IIWPARTXTIG#45Q<"]R"1=UTR?ZPZ.&&G^YVM
M-/2V^MO+62/'#2U?>!T=91\?X+*7DK\4#,$Q4#="UH#3Q^,Y@LDX49\]B^_7
M1[U0='2)G)G:\45.DHH^XOJI !]KI# T4M"GO;*)V"K?GTC7B,8!;K%:T<V3
MPE9R;QTDE4],B7DR3\V_65#)E2EWWHV5VCU99$T].UK0NA6E-@/BCHHBZXZ
M2+Y+EL]7-H/H37<>2?6M'V*H40=/?S""&;5@A,NH=6H*)N+B MH5L_Z(TBN/
M[M>&IA 9C>[.NN\GQ$?G 7<@EZA]OE*I [<NTLS=F=#^&P/.6(/0F^MX-AU1
MGM=M3YW!4E26RXUB 5'$*8W(S&A.I&PV0:*:$)PHQ4]!<&)*A(MYHB:(=I17
MQ@OYN4Q ?69+I!."X(@.S^B&9G?=S/6B/QC[A77P*]U0#AXC>KEIV>'P5S@)
MC*@95+>]H+*O&NV[*^$B04^'Y*S]Q1DRF:Q.5[#ZL9/O580+%A0K41+(N6[6
MN]I(\CN7CM6)/CE/09=[^@]/G[K00O&#Y42&>Y<I?2"2^S%TSLNW^KB ZDX&
M2#^F:66G_!E]R\1OV%^UD^85S?3NS?O7-*BM=9<SI#;J?61[$9IO&[&?2,59
MW?ET0*)NZ&3;^#OU<F>BS*T[^I!E^+LOU1V?P07UT0N0O/#=^N"H(0#3: YW
M&>7?=*,E E%D!E5#QF>N3004"7<"_K0$40'!7M!W &T3=><>D+S_G89P[:@[
M)N(+2-3!%+W=/ZSM+E.%2X?N]!7"$6NB3P< =;C)X=(/L%-N*FYDR,PZ',E;
M?SD_, J'DIYUPS<]7&M94$!XN7?QH+O'B^+34J?@9V"\JF5[QU&&:]^O%%!U
M23&"SH[HEA/B=;UA#!=R1X::HO<O-#PVL1PIFN+D5Y0PV?'%,_?U$^G)R#=0
MH.:,VU?OONN.3TRW+HE<%CH*?=B.E>VJFF_WE^"L],\5._*]&2J^<AJJBA/3
M)./!G(;_IAOZQB!=K8#NN!2!76[H5@B[.IV]F>[S3#[G6R/\50%,V+K>1&YN
M3>[/Z]P8=W?NCK_82T[C,,]M]FXJ>WR#]HTI>-)N(CK-<*NZJVWNN,#'3:Q>
MM-)R<T<7W.KB]M?!W2R6HXU8/.6.K^)(R]6LCRX-R]O5OCLI<WG&1G>:[^.3
M7JWF_F%=\@7H3CY1B>_5U]SCE7:+_2&T.OC2E1][C;&L\>,6Q]MC;/1JSK=G
M:D[559^PJW)V1=% Y="<FP^C)2J9I10/R(23R2*4?-/1*/I\WU#>2J*2GI)0
M"RQF8/WS*?TZ0TDWGHWYZ9BJQIFBN(4J:K@@?$D+DLY\Q=QR '^D9VI7($-/
M%DC%4]K79)&H)Z/E4CW]&V+E#CHD" K=\7#$XBW'7).RT"A#9W,GWG2X9%6=
M@[C_5B@>=)G-;2*B.\X9U#<<H$3D'U/^D8S=C\@#^9%WU*GO,S_K?1F=OT?X
MFD,/!ROY7GIX&K[5?R5?9N]>E_\DP*_\I0\+3K3&T.%@/KV0DR+_1U/M^:OM
MJZI!D.!?MQJ)HZ87\#G=\?5_T +AOW7P\G\ 4$L#!!0    ( !I($U5(=*8+
MV@(   \&   8    >&PO=V]R:W-H965T<R]S:&5E=#@N>&ULA57;;MLP#'W/
M5Q!>,6R 4=NRFZ9=$J"7#=N #46[R\.P!\6F8Z&RY$ERT_[]*#EQ.Z#-7BR*
MXCDZE$1ZOM'FUC:(#NY;J>PB:ISK3I/$E@VVW![J#A6MU-JTW-'4K!/;&>15
M +4R86DZ35HN5+2<!]^56<YU[Z10>&7 ]FW+S<,Y2KU91%FT<UR+=>.\(UG.
M.[[&&W3?NRM#LV1DJ42+R@JMP&"]B,ZRT_/"QX> 'P(W]HD-/I.5UK=^\JE:
M1*D7A!)+YQDX#7=X@5)Z(I+Q9\L9C5MZX%-[Q_XAY$ZYK+C%"RU_BLHUBV@6
M084U[Z6[UIN/N,WGR/.56MKPA<T0F[,(RMXZW6[!I* 5:ACY_?8<G@!FZ0L
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
ML*;?$!J?0.L[304- [_!Z<>V^@=02P,$%     @ &D@353L[Q7=4 @  G 4
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
M0-\WAKK$_L &AG\2ZW\ 4$L#!!0    ( !I($U5U(5W7@0D  $P7   9
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
MW9<NE;6J=(\;A)_0M '?5PIS5+L@!OT%^OG_ 5!+ P04    "  :2!-5-M:
M6@,"  "L!   &0   'AL+W=O<FMS:&5E=',O<VAE970Q-RYX;6R-5-%NTS 4
M?><K+"/QA.HTZ0:4)%([AF#2IFH5\(!X<)/;QEIL9_9-,_X>VTE#$5VUE]C7
MON?XG/A>IYTV#[8"0/(D:V4S6B$V<\9L48'D=J(;4&YGJXWDZ$*S8[8QP,L
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
M^)GL,U4E4%$HRXB+\ 3,0=[0=XO(]/KG?[Y_<YDLGHN@ S\;\&.[L ;BP!<
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
M/AK7HYP&]J$/:$:9F/AD _[^YI7)?;O:=)K\'2W436.\MXZ2Y4N6\EQ)+H5
M6_),*:[2-+;+M.2ID&@7O*@$+](,[3Q+>56+8:? ;ZUH-;A6QWT9EWG&,YDG
MMT]A,).8V3;F77A>&[;5SJ%2D7)8GF<%*[.25V7%5,D+="N($J5@*L=LR8HR
MY35U*UX7.2OQS2J5W,0@1E)X.P^0.A(/_B4_O /]>0IL4D$<K)-5$?OOF,P*
M2$X9F0W!LBAY*=/D0^_AK.[ !/"II1QE:<Y36I_5O *BM.:BQD=E7%4EDSD7
MF"7YM:@A7PG)ZUPE_X#-. HA@*0Y^ZR[:/:[\4?!H^+02H:P[E@5_4LRJQIM
M!:-A3SY$J8;G1$;1*'E=(TH5>3ZO2BZEB#'(I>1"T@J9EUP4%<USE>=<U@J$
M>/KS$1'0X#@5Z901$WA9RVAZ <K5*9D@%<60 Q\Z%3R?J\$R64G8G$?OR H<
ME%7T#HW+0OXZ%PM(!7^1 66%#*A8AJ"+"@-Y!35ES<#2 GHEN #_YAD#'014
M8DL&);7X#9Q4L+& ?^M(225E[(.K$A;F2(44PE)6())I79^@), HH,M$R3,B
M-[X*G,P+D$/D!*TJ,D043A0E0PH0==)*\1JA_35B(GU'8L;6_Q$31))(W9CN
M2*44[DCS2%@A\IA:"$/&RQPU0U*D:EE&NR@B&04VC36#IRD!*F@%+\!C$(#A
MYI90"??@Z.HUCL:[ V>+/=6 [7!V-3A+7.NQ_A@;<N4 &OT#4B6.,)7E'FI]
M! ]Y=.+TS_>G?_X'G_XGY;U^^N,X37H\#-H>CC!TF)%'X$?F20MK!P]MQO-X
MUCZV,R+"T1X,D_^W\79,9R[\C,L^P3X6Y1D>#*!G3_OI>.RBT(.@A)0/6G%M
MISO]<#:O+24#58L9[0&U.=M$-M)LP#L%!_4S0T";SVQEPM+.<.U8ZH#7PJ:;
M,=LT&\?:^;'^<;5=D[BAN(RY[9.M 0+S1!4*M#@[^/Z ;W")'C=3UOKQBN'?
M[X_WY-6XO3S6;U\R]:C.WKY19]FAXO[34-6,,4"B4 DHXX&K:F1O/21,@8S,
MJGV9RY5*?OK?0.VB-+CDR$G@?U6 Z65.S0)E+"W2.)I2I2R0A52:*E&A\C3.
MC,DUACO>&5_ZF8YH5;*LPOF=DUU9)=G7JJ[9-[\#UFRD#@%!<4^%BO#J--;A
M"!JEMRA'>+FHHZO>HOA0<>. ^7G3XCY)M7<P(KG6'K?/+YDX0UF,GSQ^9#I^
MDAV13ZQYM1I,CUYTJ$2+^&ZE;,.U>7C<[4?W3^.KX45X6#Z\J[_7;M'"O9V9
M8ZLX*U$(W/!6'3K!KN/[\,$&E+W87.)Y;QPMP/S<(L?&#BG8_\/@\K]02P,$
M%     @ &D@35=![AZV- @  BP4  !D   !X;"]W;W)K<VAE971S+W-H965T
M,C N>&ULA9113]LP$,??^RE.&9I BDCBA+9T;20*0V,2$BIL>YCVX";7QL*Q
M,]NA\.UG.VW62:5[2>SSW<__B_/W="/5LZX0#;S67.A94!G33*)(%Q765)_+
M!H5=64E54V.G:AWI1B$M?5'-(Q+'PZBF3 3YU,<>5#Z5K>%,X(,"W=8U56]S
MY'(S"Y)@%UBP=65<(,JG#5WC(YIOS8.RLZBGE*Q&H9D4H' U"ZZ2R3QS^3[A
M.\.-WAN#ZV0IY;.;W)6S(':"D&-A'(':UPM>(^<.9&7\WC*#?DM7N#_>T6]]
M[[:7)=5X+?D/5IIJ%HP#*'%%6VX6<O,%M_U<.%XAN?9/V'2Y*0F@:+61];;8
M*JB9Z-[T=?L=]@K&\3L%9%M O.YN(Z_RAAJ:3Y7<@'+9EN8&OE5?;<4QX0[E
MT2B[RFR=R>_$"PHCU1N</M$E1WTVC8SENM6HV#+F'8.\PQC"O12FTO!9E%C^
M6Q]9/;THLA,U)T>!7UMQ#FD< HD).<)+^R93STO_V^0-TP67NE4(/Z^6VBC[
M5_PZU'$'S X#G5,FNJ$%S@)K!8WJ!8/\XX=D&'\Z(C?KY6;'Z/FC=5[9<@2Y
M@E[Z(9%',8=%]KQ!(:VSM,'2;6,JA)7DUJ),K(%J&YO 01T#>SC8'P[<8('U
M$A6DB8\D@P7=V!_4H&*4:Z"B]+X$)J!1LD"MX00NPR3-0I*,[/@B).0R'*;#
MP:(3":=I3,(L3> ,3DF2A:.$P-G@21K*+69WE"<P#L=VU]%XZ"FQS;PD&1PZ
M@&C/(#6JM;\&-!2R%:;S2A_M;YJKSF!_T[MKZIZJ-1,:.*YL:7P^N@A ==;O
M)D8VWFY+::QY_;"RMR4JEV#75U*:W<1MT-^_^1]02P,$%     @ &D@351C#
ME 5C P  1 <  !D   !X;"]W;W)K<VAE971S+W-H965T,C$N>&ULA57?;]LX
M#'[W7R%XAV$%A-J6?V=)@+;K<#NL0+!V=P^'>U!L)A9F6YXD-]O]]4?9B><"
M:>[%(BGRXT?1HI8'J;[I"L"0'TW=ZI5;&=,M/$\7%31<7\L.6MS92=5P@ZK:
M>[I3P,LAJ*D]YON)UW#1NNOE8-NH]5+VIA8M;!31?=-P]?,6:GE8N8%[,GP1
M^\I8@[=>=GP/CV"^=AN%FC>AE**!5@O9$@6[E7L3+&XCZS\X_"G@H&<RL95L
MI?QFE4_ERO4M(:BA,!:!X_(,=U#7%@AI?#]BNE-*&SB73^@?A]JQEBW7<"?K
MOT1IJI6;N:2$'>]K\T4>?H=C/;'%*V2MAR\YC+X19BQZ;61S#$:]$>VX\A_'
M<Y@%9/XK >P8P ;>8Z*!Y0=N^'JIY($HZXUH5AA*':*1G&AM4QZ-PEV!<6:]
M4=A?97X2WI;D_GLO.CQQ0]X]\6T-^FKI&4QB7;WB"'@[ K)7 !/R(%M3:7+?
MEE"^C/>0W,20G1C>LHN ?_3M-0E]2IC/V 6\<*HX'/#"_ZF8DDW-L=27A?]]
ML]5&X;_RS[G21^3H/+*]/PO=\0)6+EX0#>H9W/7;-T'BO[_ .YIX1Y?0UX]X
M'\N^!B)WY'S7SC&^B'F>\0G<L> PG4PA\29J Z4E8"H@.UGCE1;MGG"-M@4Y
M,71>9>A@,V%J)OD !31;4"0,!DO@?+;NOY& IFE&\RR=R\YM+^K2YGO+F^X]
MF=1/3:?D,]@$FN34SU,:Q9&5_)@R/W;N9-/U!O/\JB; C8BFS$<I2 ,:!KGS
ML5>M,+V"@;3<[40!LQ"6,IKY"6$)KD'D//"BPO-48XTS/YJ&.<VR *'SU$<6
MJ?/X=+]YD3W-?<J2#*4H3RB+F?,9<+A4LBZ)F-<3AA'-P^BT8BTM_J#].--$
M:P]ZCZW3) Y#&N0123&A[SQ)PVO2S;LP2Y_2-&:411$)$NJSA,9!A@2T7I";
MHNB;ON:VT27@7U$(/LY/A."-5$;\.QK>A31.$IKA&5Y9)4@""TNNG,W9M)2T
M^,A@0R,:9#&-6&05/,L$&Y$DY-P=\6:3K0&U'^:WQG^Q;\TXY";K]$3<C)/Q
ME_OXOCQPM1>M)C7L,-2_3F.7J'%FCXJ1W3 GM]+@U!W$"I\Y4-8!]W=2FI-B
M$TP/Y_H_4$L#!!0    ( !I($U7@*"CDV0(  #8&   9    >&PO=V]R:W-H
M965T<R]S:&5E=#(R+GAM;'U5VV[;, Q]]U<(7C&T@%'?<E]B(&UWZ; "0=MM
M#\,>%)N)A<I2*LE-UZ\?)2=.UJ5YB4B:/#RD1&:\ENI!EP"&/%=<Z(E?&K,:
MA:'.2ZBH/I<K$/AE(55%#:IJ&>J5 EJXH(J'213UPHHRX6=C9YNI;"QKPYF
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
MXH^[[[[C?=1IMI7JB]X@&GBH1:/GWL:8]CP(=+[!FNLSV6)#.Z54-3<T5>M
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
M!I/,IDWR9=*GR2X8?<PWN,A!,E2X% DW?I1D@YEFTV;ZPN0AGE<:%1OGY+1
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
MV=V=U^ZH\VRC!\5)M#ZUHT)=(R@MA-($E"91-/,X:ETCAG>-&-0U@M)"*$U
M:1)%,Z5N72-F=XUL'17IQ<RAM+"AF><74L?CW?/8>@9.J>ZIO%NY7^.<'=8:
M2LQN* UNJ%!/"4H+&YK9*H^7.GVCG&E7EM?P@%CK 3'[&3VOW5"OTE)_1:W?
M.[VG0CTF*"V$T@24)E$T\ZSYUF/B^#.%./1,(2@MA-($E"91-%/JUMCB)QE;
MO8I"+28H+6QHAJ_I.)[7[96B9R#EG$U9QXF4J.TS=6B-(6X_A6AH4[7C!HL#
M-84:FMDNNV<A] ZB;E>5U_!P^,'U0R=Y.+:>^H8\5\OZ\C>]"4FLOJG15N<X
M2+50N6ZS[Y8:],7:8^V[,/A(P%ZRA+UF"7O1TFO84KRUI;B+[[%0:PI*"Z$T
M :5)%,V4NK6Z^%<NM1I:VZ%.%)060FFBH76:0+<'O(;!Q%N#B9]VY=;_M0?\
MF/49F/8^ #6UH+002A-0FD31S,.K-;5X@.\#4+<+2@NA- &E213-E+HUSCC6
M.+/C!LL,-<YXGR76O0X:FE*B:*9ZK;_&[?Y:<S>+@MRH6"6/T=U:_<G%_6T9
ME>JDI3W4/H/20BA-0&D213-O2-#:9R[>/G.A]AF4%D)I DJ3*)HI=6N?N7;[
M;&A)M^,&RPSUU* T :7)AO92NS'5:TTWUVZZX4JZ;;$^M.K;-WKP,0*U]J T
M :5)%,T\F%JOT,5?".A"O3LH+832!)0F4313ZH-;#F%/*;/C!LL,]>T:6G7!
M^F%IY=UKL:%9)8JV$W!\< ,[77F7]:T&"U(7]]W=PO:O[F]G^*Z^B5_G]4MZ
M-J<]KX?T3.QN5MCB=_=._!#ERR0MR%K=ZU3.V\ ;Z<.@OAWA[DF9/=2WS[O+
M2MT6ZH<K%2U47@W0[]]G6?G\I$JPORGD[ ]02P,$%     @ &D@359H[*9%V
M @  0@8  !D   !X;"]W;W)K<VAE971S+W-H965T,CDN>&ULK571;ILP%/T5
MBTU3*ZT!#"1I1Y#:1%,[:5+5K-O#M <';A*KQF:V">W?SS:4I2V)]K 7\+7O
M.3['^%[21L@'M070Z+%D7,V\K=;5A>^K? LE42-1 3<K:R%+HDTH-[ZJ))#"
M@4KFXR 8^R6AW,M2-W<KLU34FE$.MQ*INBR)?+H")IJ9%WK/$W=TL]5VPL_2
MBFQ@"?J^NI4F\GN6@I; %14<25C/O,OP8I[8?)?PG4*C]L;(.ED)\6"#FV+F
M!580,,BU92#FM8,Y,&:)C(S?':?7;VF!^^-G]L_.N_&R(@KF@OV@A=[.O*F'
M"EB3FND[T5Q#Y\<)S 53[HF:-C?&'LIKI479@8V"DO+V31Z[<]@#A/$! .X
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
ME6D!)997O *F;W(N2JRT*;:NK 3@S()*ZOJ>-W%+3)B31-:W$DG$:T4)@Y5
MLBY++'[/@?(F=D;.WG%/MH4R#C>)*KR%-:B':B6TY?8L&2F!2<(9$I#'SFPT
M780FW@9\(]#(@S,RG6PX?S3&;18[GBD(**3*,&#]V<$"*#5$NHQ?':?3IS3
MP_.>_9/M7?>RP1(6G'XGF2IBY]I!&>2XINJ>-Y^AZV=L^%).I?U%31L[#AR4
MUE+QL@/K"DK"VB]^ZG0X &B>88#? ?QC0'@"$'2 P#;:5F;;6F*%DTCP!@D3
MK=G,P6ICT;H;PLR_N%9"WQ*-4\DM4YAMR88"FDFI7\W%$A0F5**O6 AL-+Y$
M[]##>HDN7E]&KM(Y#=)-._YYR^^?X)^@.\Y4(=%'ED'V$N_J6ON"_7W!<_\L
MX9>:7:' >XM\S_<'ZEG\.WQTIIR@UR^P?,$)OAO.LX90BC#+T+&8$BV)3"F7
MM0#T8[:12NAG^W-(Q39+.)S%C/)45CB%V-&S*D'LP$G>O!I-O ]#$OPGLA>"
MA+T@X3GV9%9RH<@?;(>4YX@\:X*-)D/-MXP3RVC6SBX)1R/_.G)WAUT-1(7A
MN ]JJW4/1J$$L;4;0J*4UTRUCZSW]DMH9F?OR#_7RZG=)<\T[6:[PV)+F$04
M<DWI7;W7HRW:;=$:BE=VX#9<Z?&UQT(O6! F0-_GG*N]81+T*SOY"U!+ P04
M    "  :2!-5:,-(EWD#  #0"P  &0   'AL+W=O<FMS:&5E=',O<VAE970S
M-2YX;6RM5MN.VS80_15"+8H$6*_N%V]L [ZT:(L$7<1-^Q#D@9;&-A&*=$EZ
MG?3K2U):U99D)0[R8HL4SYDYAQQJ)B<N/LH]@$*?2LKDU-DK=7AP79GOH<3R
MGA^ Z3=;+DJL]%#L7'D0@ L+*JD;>%[BEI@P9S:Q<X]B-N%'10F#1X'DL2RQ
M^+P RD]3QW>>)]Z2W5Z9"7<V.> =K$&].SP*/7(;EH*4P"3A# G83IVY_[ :
MF_5VP5\$3O+L&1DE&\X_FL%OQ=3Q3$) (5>& >N_)U@"I89(I_%/S>DT(0WP
M_/F9_1>K76O98 E+3O\FA=I/G<Q!!6SQD:JW_/0KU'IBPY=S*NTO.M5K/0?E
M1ZEX68-U!B5AU3_^5/MP!M \_8"@!@1M0'0%$-: L U(K@"B&A!99RHIUH<5
M5G@V$?R$A%FMV<R#-=.BM7S"S+:OE=!OB<:IV5J?H^)( ?$M6F"*60YH;<_;
MDF(IR9;DV&Z0?O\:M,%H+B4HB3 KT&N"-X0214"B%RM0F%#Y$HW0N_4*O?CQ
MY<15.D,3Q\WK;!95-L&5;!+TAC.UE^AG5D#1@U\-X_U@@,#5UC3^!,_^+()!
MQM^/[!Z%WAT*O"#H26CY]7"_3\\P? 6YAOM]\ LU8;/;H>4+K_#9'93H_7PC
ME= E]Z%OBRJ*J)_"7$,/\H!SF#KZGI$@GL"9_?2#GWBO^NSYGF2K[T1V85W4
M6!<-L<_^.(#0E<!VB-HR$.9"&?'MZ*@'V-;$'=K CC"F%_7Y6O$GEM_<QD^S
M-(M"+YFX3^>.=9?YWCB*@_1RW>K+ZRYTQHW.>%#GO.1"D7]MT?>IJ-#Q6=B1
M=CB)LY:,N)/>R(_#8#QNR>CA"WU=:WZ_C*21D0S*^),K3!'_XJ;=(6#%E0U+
M.JDE09A$;:6#B=QZQ+LQ6X?DPHVT<2.]Z?#2^N+^?(?D7N_W2($H^RQ(.^F$
MB1]Y8<N"P>BW6M 3,TK3-.BW(&LLR+[5 LK9[JH#63>;P _\5C4N!X/?ZD W
M9NS%81;V.S!N'!A_14E<JM=?[C[1XT[Q)EF0!%Y+]&"\6T5W8V9QZ,=Q2[1[
MUNN4(':V9Y0HYT>FJL]Z,]NTI7/;C;7F%_[#LNHN_Z>I>MTW6.AK7&JKMIK2
MNT_U3HBJ?ZP&BA]L1[7A2O=G]G&O6VX09H%^O^5</0],@*:)G_T'4$L#!!0
M   ( !I($U6IHI9US0(   T(   9    >&PO=V]R:W-H965T<R]S:&5E=#,V
M+GAM;*V676_:,!2&_XJ535,KK<T7^8!!I!94;5.KH;)N%],N3#B 52?.; ?:
M?S_;22,@ 7:Q&V(GYSWG>4_LF.&6\6>Q!I#H):.Y&%EK*8N!;8MT#1D6UZR
M7#U9,IYAJ:9\98N" UX8449MSW%".\,DMY*AN3?ER9"5DI(<IAR),LLP?[T%
MRK8CR[7>;CR2U5KJ&W8R+/ *9B"?BBE7,[O)LB 9Y(*P''%8CJP;=S".=;P)
M^$%@*W;&2#N9,_:L)U\6(\O10$ AE3H#5I<-C(%2G4AA_*ES6DU)+=P=OV6_
M,]Z5ESD6,&;T)UG(]<B*+;2 )2ZI?&3;SU#["72^E%%A?M&VB@T]"Z6ED"RK
MQ8H@(WEUQ2]U'W8$;N^(P*L%WK\*_%K@&Z,5F;$UP1(G0\ZVB.MHE4T/3&^,
M6KDAN7Z+,\G54Z)T,IFI9;$H*2"V1'>E+#F@!Y*3K,S0/:CVH"E^52]-"G0Q
M 8D)%9?H"CW-)NCB_>70E@I!)[+3NMQM5<X[4NYKF5\CW_F(/,?S.N3CT_()
MI$KN&KF[+[>5\<:]U[CW3#[_2#YC4:!?-W,AN5I1O[L<52EZW2GT+AN( J<P
MLM0V$L W8"4?WKFA\ZG+WW]*MN?6;]SZI[(G1WI^6ZE"H]*[?I.X?:??4PW>
M[**WP_Q(Q45-V!Y4KX'JG8/RNZ J5;!;K>\$H7< =39L#RIHH()S4+TNJ*!5
MS?5=-SB$.ANV!Q4V4.%)J.],8HJHV95%O2N[(,-6]<CUPB X@&R']1TG=MUN
MR*B!C$Y"WH,0 T2RHI2P0"27H-:Q[,*,6O6O?,?Q#S$[PGI1&(3=F'&#&9_$
M_%8 QY+DJ[J?E. YH42^=I'&K84?QE[H.0>D[; X\-V=OE>D]L['6A^4#YBO
M2"X4R%()G>M(>>75X5--)"O,]WO.I#H-S'"MSFO@.D ]7S(FWR;Z2&C^ 21_
M 5!+ P04    "  :2!-5R6@'9X("  "A!P  &0   'AL+W=O<FMS:&5E=',O
M<VAE970S-RYX;6RM56UOTS 0_BM60&B38'GMRTH;J6V* #%4=1I\0'QPDVL3
M+;&#[;[P[SD[:6BWK)I@7QK[_#S/^>[<N^&.BWN9 BBR+W(F1U:J5#FP;1FG
M4%!YQ4M@>++BHJ *MV)MRU( 30RIR&W/<;IV03-FA4-CFXMPR#<JSQC,!9&;
MHJ#B]P1ROAM9KG4P++)UJK3!#H<E7<,MJ+MR+G!G-RI)5@"3&6=$P&IDC=W!
M+-!X _B6P4X>K8F.9,GYO=Y\2D:6HR\$.<1**U#\;&$*>:Z%\!J_:DVK<:F)
MQ^N#^@<3.\:RI!*F//^>)2H=67V+)+"BFUPM^.XCU/%TM%[,<VE^R:["^CV+
MQ!NI>%&3\09%QJHOW==Y."*@3CO!JPG>0T+P!,&O"?YS/00U(7BNATY-,*';
M5>PF<1%5-!P*OB-"HU%-+TSV#1OSE3']3FZ5P-,,>2K\ IAE22XB4#3+)?E*
MA:"Z=I?D';F[C<C%Z\NAK="3QMMQK3JI5+TG5'URPYE*)9FQ!)(6?G2>WSW#
MMS'")DSO$.;$.ROX><.NB.^\)9[C>2WWF3Z?[K:%\W_>9__L_209?E-SW^CY
MYVO^8[R42N _]6=;@2N)H%U"=Z^!+&D,(PO;DP2Q!2M\\\KM.N_;LON28M%+
MBLU>2.RD#D%3A^"<>K@ I@CLL>5C.=IJ4-&[AJX;_C9TKSN>@V]@>YS=%IC;
M<0/G%!8]A@5.$'3\4]CL,<SK]/O7O096Q6H?]9P"Q-HT>TEBOF&J>HJ-M9DG
M8]-&']@G[F#JMM@CG#_5N/@K7PVO&RK6&9,DAQ6Z<JYZV!)%-1"JC>*EZ7A+
MKK!_FF6*,Q2$!N#YBG-UV&@'S50._P!02P,$%     @ &D@354"S-H#@ @
M]P<  !D   !X;"]W;W)K<VAE971S+W-H965T,S@N>&ULK55=;],P%/TK5D!H
MDV!)G*\RVDA;"P(D1+5N\(!X<).;UIH3!]MMMW^/[:11/[*(!UZ:.+[G^)Q3
M^WJ\X^)1K@$4>BI9)2?.6JGZVG5EMH:2R"M>0Z5G"BY*HO10K%Q9"R"Y!97,
MQ9X7NR6AE9..[;>Y2,=\HQBM8"Z0W)0E$<^WP/ANXOC._L,=7:V5^>"FXYJL
M8 'JH9X+/7([EIR64$G**R2@F#@W_O4T,?6VX >%G3QX1\;)DO-',_B23QS/
M" (&F3(,1#^V, 7&#)&6\:?E=+HE#?#P?<_^R7K77I9$PI2SGS17ZXDS<E .
M!=DP=<=WGZ'U$QF^C#-I?]&NJ4WTBME&*EZV8#TN:=4\R5.;PP' #U\ X!:
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
MV='1N<#3XQ/V8EB+\67#^++7">LB?'ET/OSA9') ]S@(#WUL)XN]W0^JUZ_
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
M-0>JN5#-@VH^5 N@6HC2Q$1V54"JO SH>AFS.?G,DTC+^NS-Y_D\COC1[.Z
MF15E'D?UA12;'>[7-"X+\LN7VZ_%K_(Q,[1P"*J94,V":C94<Z":"]4\J.9#
MM0"JA2A-O%Z^JS;2%.2868.6'$$U$ZI94,V&:@Y4<Z&:!]5\J!9 M1"EB<GM
MBIPT>9&34*@[JYH:"[Z[CK,9*9:4]]A,93,C4;:JOX"FFQERJG*9Y?%_V.RT
M7:HWY="J**AF0C4+JME0S8%J+E3SH)H/U0*H%K::<)' Y%RYZ,ZIB/GM"J,T
M>6'4I_S,B>]Y,J5#93DR.(K0RBBH9D$U&ZHY4,V%:AY4\Z%: -5"E"8&MJN,
MTJ"541JT,@JJF5#-@FHV5'.@F@O5/*CF0[4 JH4H34QN5QFER2NC)$/EY@JW
M>)'6#]UE:55(Q\7&P5A@8ISO7R1[+5^;P5F%%DU!-1NJ.5#-A6H>5/.A6@#5
M0I0F9K4KFM+D15.WFV/7-JSK/(Y8G559*C?@^4XJQV?&?B:A4^Y -0NJV5#-
M@6HN5/.@F@_5 J@6HC0QDUT!E28OH!IR3;AV.#U+WY6_U_(N!P<26ND$U6RH
MYD U%ZIY4,V':@%4"U&:&,BNTDE[;4J@HHS+JOY*ER;$2^]9469Y(9Z=7<1%
MR7*>6#/.6<3_3@ZNQ>/+W;*(#XC+F.]S;ZH\6M*"]=1']B8=6C\%U4RH9D$U
M&ZHY4,V%:AY4\Z%: -5"E"9^'G3U4]HY]*LI: 455#.AF@75;*CF0#47JGE0
MS8=J 50+49J8W*[.2I/76?U>U?O7IO9Q<^!;9$GOM&-R9W!FH353K;;[O9C>
M=P&@!>W6AFH.5'.AF@?5?*@60+40I8DW7NC*H734Y$MR:&@>H9JI'S=-CP7M
MU89J#E1SH9H'U7RH%D"U$*6)<>QJG/17:ISVK@L0OPWNC26T= FJF?KA#$"3
M_41"ZY&@F@/57*CF034?J@50+41I8B*[JB5=7K6D*>IT>S<Q+ZVOTHGO&;E)
M:+K[I=+FZ@'KD455\_?MU0.?^6&I[ H"V==-\A4;G&QH)114LZ":#=4<J.9"
M-0^J^5 M@&HA2A,_!';N3X:]01GV#F786Y1A[U&&O4D9]BYEV-N48>]3AKU1
M&?9.9=A;E?T=E5!Z5PFE?W<EU(]>-"#O>7#*H3544,V":C94<UI-N(^#9JBZ
MOC<;,;17[\A>?6BO 50+49J8S*[N29?7/1U\$;S(:5KVWX)"3@V.&K0T"JI9
M4,V&:@Y4<Z&:UVKB75^4\70_C]":)Z@6HC0QCUW-DRZO>?JQ ]T_'K+O/]"%
MSB@%U4RH9D$U&ZHY4,V%:AY4\Z%: -5"E"9^"'1U5CIT1BD=6A$%U4RH9D$U
M&ZHY4,V%:AY4\Z%: -5"E"8FMZN(TE^94>IO/-"%5D]!-1.J65#-AFJ.?GA;
M-NV<_W>Q?Z +K8LZLE<?VFL U4*4)B:SJWC2Y15/0P;6P^:?D@ZJH>534,V$
M:A94LZ&: ]5<J.9!-1^J!5 M1&G"!X#1U5@9T"FG#&BA%50SH9H%U6RHYD U
M%ZIY4,V':@%4"U&:F-RN',OXOTTY)>]Y<,JA=5M0S8)J-E1SC%<G.VKS"RW>
M.K)7']IK -5"E"8FLRO+,N1E64/.'LFIP5&#%E)!-0NJV5#-@6HN5/-:30BD
M,C;VS^9".PV@6HC2Q#QV%5*&M([CZM7CV\/9WWYH1F7YZ@S.-+3$"JI94,V&
M:@Y4<Z&:!]5\J!9 M1"EB='O2JP, WIX"RV;@FHF5+.@F@W5'*CF0C4/JOE0
M+8!J(4H3D]N58!FX$BSCL,"F[T3 M;S+P8&$%E=!-1NJ.5#-A6H>5/.A6@#5
M0I0F!K*KP3+D-5@[X^'-%;E5,QZN9[N)T\4IF;$BRN-U_353;T;E^D>VB--F
MXL<L)>62$;[C+LE=5?#E^!Y\1I_JCX(/U:+B#VN*IIT22DK^D1 MFXL2\]ZU
M.R5+>E^C-'U#U^L\>XQ7M&2;"XGK9F\-Y511E-/VNS+>=U3E>3W93O-QT_3;
M7.C(J17_N=Y:$L^;-;S.5FN:/O$N"D*C9<SNN9"RDC?(YG'9S,U5+U<^L(0?
M=*RRM%P6;U@ZJU?(K_A 1.<=U]M2KPDM2<+J;7ZKG8Z59JW.B,T)SN9/Y&W[
M&&$T3WD_<4K88\0V@YNN"=_0S8U.MT_-0YPDS5J?$6^SVBO*GX1J]69G36MB
MVCP/-1%WFW-*2I9NK8(\9%4R:[7;>!4G-$^>3H]\Q?077[$WN^^GHYYE2L2U
M[YX\?;L9IWS3RV5#K+.R/O"C"2FS^@W!")W-XG:^INW&O6DZK=;U,G3[)#7/
MS$7WS*0[_9Z1/Y;Q\_N?T)Q#B\U$31%_J>.TJI^Q[3J\\N08F]5]T[Q <=KT
MO;.)Y9(_6\N,/_EWK.Z,;V;W@L]V7];=5NVRJKK=@+/>42JT)A&J65#-AFH.
M5'.AF@?5?*@60+40I8D[Q:XFT9#/_?:I3=W.]T9_ZPUNY:LS^  56M0(U2RH
M9D,U!ZJY4,V#:CY4"Z!:B-+$Z'=%C09TFC<#6J@(U4RH9D$U&ZHY4,V%:AY4
M\Z%: -5"E"8FMRMZ-.1%CU]8O+JK\F*S4T[8@N^"YXR/UNNQ-'NLJR5>J(N
MUBU"-;/5#J9ZWIO3!MJI#=4<J.9"-0^J^5 M@&HA2A/".>X*$L='3?HF%A'7
MYVCW1MI]^9330_,)U4RH9D$U&ZHY4,V%:AY4\Z%: -5"E";&N*M.'*O(T?$8
M6G$(U4RH9D$U&ZHY4,V%:AY4\Z%: -5"E"8FMZM>',NK%S>!S=FZO0'!7G'Q
MZ<NSL,KAP2&&UC)"-:O5=@?;:M\<R_:Q"SK0]7.AF@?5?*@60+40I6VB-RJ6
MC)4F+>G5Y8KE"W;-DJ0@45:E9;WGW'F4YVW.HZF^^Z"=C X>=]1WKMKSN*>^
M\YO'1QU_=;FF"_:)YHLX+?C![9QWI9Q-QR<DCQ?+YU_*;/W^A'_0W&5EF:V:
M'Y>,SEA>+\#_/L^R<OM+W<%#EG]K-N?J?U!+ P04    "  :2!-57%0DEBD#
M  !,$@  #0   'AL+W-T>6QE<RYX;6S=6%UKVS 4_2M&74<+HT[BQ8W7)+ %
M"H-M%-J'O14EEA.!+'FRTB7[]=.5'.>CNJ7KP];,(;5TC\ZY1])U93*LS5JP
MVP5C)EJ50M8CLC"F^A#']6S!2EI?J(I)BQ1*E]38KI['=:49S6L@E2+N=3II
M7%(NR7@HE^5U:>IHII;2C$B_#47^]CD?D6[ZGD1>;J)R-B+W9V]_+)6Y>A/Y
M^\F[DY/._?G58?S, ><D#HKVGR%ZT;$7JNQ03#Y]GOQ3XICTY;ZT&WYJA3SQ
M%*,- C2;9<N$CB/'S;:,AX62V]U)B ]8=5JRZ(&*$9E0P:>: ZN@)1=K'^Y!
M8*:$TI&Q96'3=2%2__)PU_>@8AJ=DDNE76Z?P?^=-L,/@$T/#'(A6H,]X@/C
M846-85I>VXX;[(*/H*AIWZTKZW"NZ;K;ZY,MP=ULDJG2.=-MFB[9A,9#P0JP
MH_E\ 7>CJAA 8U1I&SFG<R6I\[!A- TK.V-"W,+C]+W8TUX5._O6@5V3;=,:
M:II>QG= ?U?-:^_*ODPWJOB#,I^6=CK2]:% V8UF!5^Y_JIH#6#J75R=5I58
M?Q1\+DOF)__LA.,AW?"BA=+\E\T&I3*S :9)],"TX;/=R$]-JSNV,IMR6A6X
MY]X1>OZ[ZSQGDFDJ=DW;VG_-J_QBQ\GEO[+L_JL<&@YZ;,[(UVZR?PPFTV,P
M>10U.7B5)N/F;-PY@/>.WS8:P6O.B'R#ER:Q31I-EUP8+IO>@N<YDX].82MO
MZ-2^*N_IV_$Y*^A2F+L6')%M^RO+^;+,VE$WL!#-J&W["TROF[;O6#87ESE;
ML7S2=/5\ZIJ1;=BLS06$0^3:76$$XW@LC "&Y<$<8!S/PO+\3_,9H//Q&.9M
M$$0&*&> <CPKA$S<!\L3YF3V"L\TRY(D3;$5G4R"#B;8NJ4I?,-JF#=@8'D@
MTY^M-;[;>(4\70?8GCY5(=A,\4K$9HJO-2#A=0-&EH5W&\L##&P7L-J!_.$\
M4%-A3I+ KF+>L"<81[(,0Z 6PS6:ILCJI/ )[P_VE"1)EH41P,(.D@1#X&G$
M$<P!>,"0)''GX,%Y%&_.J7C[^]'X-U!+ P04    "  :2!-5EXJ[',     3
M @  "P   %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6!/D!5J(/
MV!(%BD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV)8]ISI%"
MKM0L'C6'TD!$VV-#L%HL/D N&6:WO606IW.D5XA<UYVE/=LO3T%O@*\Z3'%"
M:4A+,P[PS=)_,O?S##5%Y4HCE5L:>-/E_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0
MT^FO8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0    ( !I($U7E
MH'TQ# 0  .\=   /    >&PO=V]R:V)O;VLN>&ULQ9G?4]LX$(#_%8V?N(>[
MQ#^@+=-TA@MPQTP+F8;K:T>QE42#+05)#H6__E8..=;@[MS+ID^)95G^O);U
MK:2/#];=+:R]$S^:VOA)L@YA<SH:^7*M&NG_L!MEX,S2ND8&.'2KD=\X)2N_
M5BHT]2@;CT]&C=0F^?1QW];,C?"!#:H,VAHHC 7?M'KP+^?CH=AJKQ>ZUN%Q
MDG3_:Y6(1AO=Z"=539)Q(OS:/OQMG7ZR)LAZ7CI;UY,DW9WXIES0Y9OB>82\
ME0O?E02Y^"H!9)*<C*'!I78^=#6Z]B4P;A54WAVUP5[J.BAW+H/ZR]EVH\TJ
M-@-/,4*/T<5A_[L+XJG[/V&TRZ4NU;DMVT:9L(NC4W4$-'ZM-SX11C9JDDSM
M5KGX/'"#JVKW; &@4*3<J883[JKJ\/A0_I2U-*427=0\8LH(INR03.)H)AU<
ML%9=?_@-,>8$8\[+.(_WC76\L$MQLU%N5T<<_6-D6R'(@H L#@DY74NS4EYH
M(^;!EG=K!'E,0!X?%%+ZM;BL[<- )$\(R!->R!NWDD8_=2>$-)68ZY71<+$T
M09R5"/(= ?F.%_+*;*&"=8\(YSV!\YX7!S0!GT5X[.)U<=_J3;P L7T@V#YP
MARK QQ#O*<Z\5Y@J'5.C\9B7Z[.27N%A."7=P"R'L[)TK8*7]P,:><5%^2%E
M%L0UY!]B)A]E=]L7)LH'*;,0OL9"B!7("KK\K9/&RRY'ZD6-DD'*;(.I;1H=
M=B-M_"2GD'9!!J1,J?NOEI)!RFZ#:"9;5\KY[]VH$?!PEE(.2)DE,&\77MVW
M4$E<Q)&V%S1JW$^9!W[23M\SC$GY(&46 HV98TQ*#2F[&YXU*HYNXPCC<<J9
M47;(F.TP;-1!3$H;&;,V7LMU$)"<7S#[8V?902Q*(1FS0E[K=A"0,DC&;!#L
MW4$XRAS9+S#'("2ED(Q;(=!&U4+T8*IS(9T!_WHQ4P[FNC#)%1B3$DKV2X52
M8$Q**!FS4' TT:A]KH+4=?^E4T+)#B>49S1Q+5U<,-BJWG(&Y9:<V2TXE@.>
MP9B46W)FM_Q,@<^!Q9B487)FP_1[YFL=GF-,<A&+V3@#:+B#8DS*.SGW.A:*
M9F]Q4$QKZ7LOG3)0SFT@A'G9AA8&]"]QP;MM1,PX,";EH)S90?OLAQZ+*/WD
MS/K!@=PG13![C5E1K(PQ*?WD!]3/F]Q-&HQ)Z2=GU@_&C!F<?TGA8A? 2]64
M@ IF ?63RS>=$V-2 BJ8!?3S=9X.&F-2 BJ8!40N]H@CC$D)J.#>1NGU3?/[
M?2MKR#,AOETZCS')?13VC92AN<5_?11C4@(J.@&-]AN,E5IJHZIKN(6'\E+6
MY<R)^+-;82V.XSK(LJWK*93=F,]65OO]ROU>ZZ=_ 5!+ P04    "  :2!-5
MN#;$W*D!   N&P  &@   'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QSS=F[
M;L) $(7A5T%^ ):966X14*6AC7@!"Y:+,-CR;A1X^R HX%@ITJ ]E;6V//X;
M?[+6LZ]0E>E0G^/^T,3>Y52=X[S8I]1\.!?7^W J8[]NPOEV95NWIS+=ENW.
M->7Z6.Z"T\%@Y-K7&<5B]CJSM[HVX3\3Z^WVL Z?]?K[%,[IC\'NIVZ/<1]"
M*GJKLMV%-"_<I7J>CNY^D/YM<M%;;N9%N]Q(X7('*01I_B"#(,L?Y"'(YP\:
M0M P?] (@D;Y@\80-,X?-(&@2?Z@*01-\P?) &4<$"1UL";06I!K(?!:$&PA
M$%N0;"$P6Q!M(5!;D&TA<%L0;B&06Y!N(;!;$&\AT%M1;R706U%O)=!;.Q_;
M!'HKZJT$>BOJK01Z*^JM!'HKZJT$>BOJK01Z*^JM!'HKZJT$>AOJ;01Z&^IM
M!'H;ZFT$>EMGLX1 ;T.]C4!O0[V-0&]#O8U ;T.]C4!O0[V-0&]#O8U ;X]Z
M>P*]/>KM"?3VJ+<GT-NCWIY ;]_9[";0VZ/>_IUZQW2M0GSV/-;X_'=2G6[W
MAN?C[\O'R<X+=<?9P>^QQ2]02P,$%     @ &D@355/9*RFR 0  4QL  !,
M  !;0V]N=&5N=%]4>7!E<UTN>&ULS9G-;L(P$(1?!>6*B+&=TA\!E[;7ED-?
MP$TV)"*)+=M0>/LZX4=J1:,B*G4NL1+OSHR]TG?)]&UGR VV==6X651X;QX8
M<VE!M7*Q-M2$G5S;6OGP:I?,J'2EEL3$>#QAJ6X\-7[D6XUH/GVB7*TK/WC>
MAL^NU,TLLE2Y:/"X+VR]9I$RIBI3Y<,^VS39-Y?1P2$.G5V-*TKCAJ$@8F<=
MVIV?#0Y]KQNRMLQHL%#6OZ@Z5+%MQ9S?5>3B?HDS&76>EREE.EW7H25VQI+*
M7$'DZRK>BP[[G7VX8=H_^=7^G4R?8:A<6&U<F)BER^V.(VF[1R8(D?5E_Q%/
MCD'ZZO-1.^V,LE]ZA^O]T';5S<.Q;KG^CK_.^*1_80X!DD."Y$A <MR Y)B
MY+@%R7$'DN,>) <?HP1!(2I'02I'82I'@2I'H2I'P2I'X2I' 2M'(:M (:M
M(:M (:M (:M (:M (:M (:M (:M (:M (:M$(:M$(:M$(:M$(:M$(:M$(:M$
M(:M$(:M$(:M$(6N"0M8$A:P)"ED3%+(F*&1-_I.L[UJO_OHW3[O&M2J;HS_K
M_J7-/P%02P$"% ,4    "  :2!-5!T%-8H$   "Q    $
M@ $     9&]C4')O<',O87!P+GAM;%!+ 0(4 Q0    ( !I($U4CYCM,[P
M "L"   1              "  :\   !D;V-0<F]P<R]C;W)E+GAM;%!+ 0(4
M Q0    ( !I($U697)PC$ 8  )PG   3              "  <T!  !X;"]T
M:&5M92]T:&5M93$N>&UL4$L! A0#%     @ &D@3514/+Y?N!0  NQ\  !@
M             ("!#@@  'AL+W=O<FMS:&5E=',O<VAE970Q+GAM;%!+ 0(4
M Q0    ( !I($U70J8/+K0<   (F   8              " @3(.  !X;"]W
M;W)K<VAE971S+W-H965T,BYX;6Q02P$"% ,4    "  :2!-5FOPT*%P#   ?
M$   &               @($5%@  >&PO=V]R:W-H965T<R]S:&5E=#,N>&UL
M4$L! A0#%     @ &D@357;>/_!]!@  @2$  !@              ("!IQD
M 'AL+W=O<FMS:&5E=',O<VAE970T+GAM;%!+ 0(4 Q0    ( !I($U4E-'8<
M?0@  (=,   8              " @5H@  !X;"]W;W)K<VAE971S+W-H965T
M-2YX;6Q02P$"% ,4    "  :2!-59U/GIY,)  #U00  &
M@($-*0  >&PO=V]R:W-H965T<R]S:&5E=#8N>&UL4$L! A0#%     @ &D@3
M57+./^+2&   ]T   !@              ("!UC(  'AL+W=O<FMS:&5E=',O
M<VAE970W+GAM;%!+ 0(4 Q0    ( !I($U5(=*8+V@(   \&   8
M      " @=Y+  !X;"]W;W)K<VAE971S+W-H965T."YX;6Q02P$"% ,4
M"  :2!-5B?1%PX4#  "7!P  &               @('N3@  >&PO=V]R:W-H
M965T<R]S:&5E=#DN>&UL4$L! A0#%     @ &D@356*E)R_N @  8@8  !D
M             ("!J5(  'AL+W=O<FMS:&5E=',O<VAE970Q,"YX;6Q02P$"
M% ,4    "  :2!-5U!YN@14$  #<"P  &0              @('.50  >&PO
M=V]R:W-H965T<R]S:&5E=#$Q+GAM;%!+ 0(4 Q0    ( !I($U42(=V68P,
M +$'   9              " @1I:  !X;"]W;W)K<VAE971S+W-H965T,3(N
M>&UL4$L! A0#%     @ &D@353H@"@8Q P  Y 8  !D              ("!
MM%T  'AL+W=O<FMS:&5E=',O<VAE970Q,RYX;6Q02P$"% ,4    "  :2!-5
M.SO%=U0"  "<!0  &0              @($<80  >&PO=V]R:W-H965T<R]S
M:&5E=#$T+GAM;%!+ 0(4 Q0    ( !I($U5W5GA2YP,  %4(   9
M      " @:=C  !X;"]W;W)K<VAE971S+W-H965T,34N>&UL4$L! A0#%
M  @ &D@3574A7=>!"0  3!<  !D              ("!Q6<  'AL+W=O<FMS
M:&5E=',O<VAE970Q-BYX;6Q02P$"% ,4    "  :2!-5-M: 6@,"  "L!
M&0              @(%]<0  >&PO=V]R:W-H965T<R]S:&5E=#$W+GAM;%!+
M 0(4 Q0    ( !I($U6+E57^OQD  /12   9              " @;=S  !X
M;"]W;W)K<VAE971S+W-H965T,3@N>&UL4$L! A0#%     @ &D@35=$.=*7[
M!@  /!   !D              ("!K8T  'AL+W=O<FMS:&5E=',O<VAE970Q
M.2YX;6Q02P$"% ,4    "  :2!-5T'N'K8T"  "+!0  &0
M@('?E   >&PO=V]R:W-H965T<R]S:&5E=#(P+GAM;%!+ 0(4 Q0    ( !I(
M$U48PY0%8P,  $0'   9              " @:.7  !X;"]W;W)K<VAE971S
M+W-H965T,C$N>&UL4$L! A0#%     @ &D@35> H*.39 @  -@8  !D
M         ("!/9L  'AL+W=O<FMS:&5E=',O<VAE970R,BYX;6Q02P$"% ,4
M    "  :2!-5[^?@Y $$  !F#   &0              @(%-G@  >&PO=V]R
M:W-H965T<R]S:&5E=#(S+GAM;%!+ 0(4 Q0    ( !I($U4*^IS?>@,  (<(
M   9              " @86B  !X;"]W;W)K<VAE971S+W-H965T,C0N>&UL
M4$L! A0#%     @ &D@35?/L<6B[ @  )08  !D              ("!-J8
M 'AL+W=O<FMS:&5E=',O<VAE970R-2YX;6Q02P$"% ,4    "  :2!-597H'
M6M<"  "B!@  &0              @($HJ0  >&PO=V]R:W-H965T<R]S:&5E
M=#(V+GAM;%!+ 0(4 Q0    ( !I($U77!'N#4@<   (J   9
M  " @3:L  !X;"]W;W)K<VAE971S+W-H965T,C<N>&UL4$L! A0#%     @
M&D@35=XOXQJ4"   (%(  !D              ("!O[,  'AL+W=O<FMS:&5E
M=',O<VAE970R."YX;6Q02P$"% ,4    "  :2!-5FCLID78"  !"!@  &0
M            @(&*O   >&PO=V]R:W-H965T<R]S:&5E=#(Y+GAM;%!+ 0(4
M Q0    ( !I($U7K]ZGJ/ (  )4%   9              " @3>_  !X;"]W
M;W)K<VAE971S+W-H965T,S N>&UL4$L! A0#%     @ &D@353MVOHG$!
M9!P  !D              ("!JL$  'AL+W=O<FMS:&5E=',O<VAE970S,2YX
M;6Q02P$"% ,4    "  :2!-5";F!#EP"  "O!0  &0              @(&E
MQ@  >&PO=V]R:W-H965T<R]S:&5E=#,R+GAM;%!+ 0(4 Q0    ( !I($U6,
MYA [70,  '<.   9              " @3C)  !X;"]W;W)K<VAE971S+W-H
M965T,S,N>&UL4$L! A0#%     @ &D@35:S'P^AD @  O@4  !D
M     ("!S,P  'AL+W=O<FMS:&5E=',O<VAE970S-"YX;6Q02P$"% ,4
M"  :2!-5:,-(EWD#  #0"P  &0              @(%GSP  >&PO=V]R:W-H
M965T<R]S:&5E=#,U+GAM;%!+ 0(4 Q0    ( !I($U6IHI9US0(   T(   9
M              " @1?3  !X;"]W;W)K<VAE971S+W-H965T,S8N>&UL4$L!
M A0#%     @ &D@35<EH!V>" @  H0<  !D              ("!&]8  'AL
M+W=O<FMS:&5E=',O<VAE970S-RYX;6Q02P$"% ,4    "  :2!-50+,V@. "
M  #W!P  &0              @('4V   >&PO=V]R:W-H965T<R]S:&5E=#,X
M+GAM;%!+ 0(4 Q0    ( !I($U7?0K]TQ (  #('   9              "
M@>O;  !X;"]W;W)K<VAE971S+W-H965T,SDN>&UL4$L! A0#%     @ &D@3
M57]AQXL3 P  V0P  !D              ("!YMX  'AL+W=O<FMS:&5E=',O
M<VAE970T,"YX;6Q02P$"% ,4    "  :2!-5.%]"83H$   :&   &0
M        @($PX@  >&PO=V]R:W-H965T<R]S:&5E=#0Q+GAM;%!+ 0(4 Q0
M   ( !I($U57VIW(&04  +8B   9              " @:'F  !X;"]W;W)K
M<VAE971S+W-H965T-#(N>&UL4$L! A0#%     @ &D@359*11:);!@  0#P
M !D              ("!\>L  'AL+W=O<FMS:&5E=',O<VAE970T,RYX;6Q0
M2P$"% ,4    "  :2!-5<$WWO>$#  "N$   &0              @(&#\@
M>&PO=V]R:W-H965T<R]S:&5E=#0T+GAM;%!+ 0(4 Q0    ( !I($U4&-"J.
M,0\  ,+"   9              " @9OV  !X;"]W;W)K<VAE971S+W-H965T
M-#4N>&UL4$L! A0#%     @ &D@355Q4))8I P  3!(   T
M ( ! P8! 'AL+W-T>6QE<RYX;6Q02P$"% ,4    "  :2!-5EXJ[',     3
M @  "P              @ %7"0$ 7W)E;',O+G)E;'-02P$"% ,4    "  :
M2!-5Y:!],0P$  #O'0  #P              @ % "@$ >&PO=V]R:V)O;VLN
M>&UL4$L! A0#%     @ &D@35;@VQ-RI 0  +AL  !H              ( !
M>0X! 'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QS4$L! A0#%     @ &D@3
M55/9*RFR 0  4QL  !,              ( !6A ! %M#;VYT96YT7U1Y<&5S
;72YX;6Q02P4&     #4 -0!J#@  /1(!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<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>59
<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>60
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.22.2.2</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>167</ContextCount>
  <ElementCount>222</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>67</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>4</UnitCount>
  <MyReports>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>00000002 - Statement - Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/BalanceSheets</Role>
      <ShortName>Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>00000003 - Statement - Balance Sheets (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/BalanceSheetsParenthetical</Role>
      <ShortName>Balance Sheets (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>00000004 - Statement - Statements of Operations (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/StatementsOfOperations</Role>
      <ShortName>Statements of Operations (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00000005 - Statement - Statements of Changes in Stockholders' Equity (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/StatementsOfChangesInStockholdersEquity</Role>
      <ShortName>Statements of Changes in Stockholders' Equity (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>00000006 - Statement - Statements of Cash Flows (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/StatementsOfCashFlows</Role>
      <ShortName>Statements of Cash Flows (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>00000007 - Disclosure - Organization and Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/OrganizationAndSignificantAccountingPolicies</Role>
      <ShortName>Organization and Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>00000008 - Disclosure - Inventory</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/Inventory</Role>
      <ShortName>Inventory</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>00000009 - Disclosure - Property and Equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/PropertyAndEquipment</Role>
      <ShortName>Property and Equipment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>00000010 - Disclosure - Intangible Asset</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/IntangibleAsset</Role>
      <ShortName>Intangible Asset</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>00000011 - Disclosure - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/Leases</Role>
      <ShortName>Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>00000012 - Disclosure - Accrued Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/AccruedExpenses</Role>
      <ShortName>Accrued Expenses</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>00000013 - Disclosure - Note Payable</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/NotePayable</Role>
      <ShortName>Note Payable</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>00000014 - Disclosure - Related Party Transactions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/RelatedPartyTransactions</Role>
      <ShortName>Related Party Transactions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>00000015 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/CommitmentsAndContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>00000016 - Disclosure - Stockholders??? Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/StockholdersEquity</Role>
      <ShortName>Stockholders??? Equity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>00000017 - Disclosure - Subsequent Events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/SubsequentEvents</Role>
      <ShortName>Subsequent Events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>00000018 - Disclosure - Organization and Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Organization and Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://virtra.com/role/OrganizationAndSignificantAccountingPolicies</ParentRole>
      <Position>18</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>00000019 - Disclosure - Organization and Significant Accounting Policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesTables</Role>
      <ShortName>Organization and Significant Accounting Policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://virtra.com/role/OrganizationAndSignificantAccountingPolicies</ParentRole>
      <Position>19</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>00000020 - Disclosure - Inventory (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/InventoryTables</Role>
      <ShortName>Inventory (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://virtra.com/role/Inventory</ParentRole>
      <Position>20</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>00000021 - Disclosure - Property and Equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/PropertyAndEquipmentTables</Role>
      <ShortName>Property and Equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://virtra.com/role/PropertyAndEquipment</ParentRole>
      <Position>21</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>00000022 - Disclosure - Intangible Asset (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/IntangibleAssetTables</Role>
      <ShortName>Intangible Asset (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://virtra.com/role/IntangibleAsset</ParentRole>
      <Position>22</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>00000023 - Disclosure - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/LeasesTables</Role>
      <ShortName>Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://virtra.com/role/Leases</ParentRole>
      <Position>23</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>00000024 - Disclosure - Accrued Expenses (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/AccruedExpensesTables</Role>
      <ShortName>Accrued Expenses (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://virtra.com/role/AccruedExpenses</ParentRole>
      <Position>24</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>00000025 - Disclosure - Note Payable (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/NotePayableTables</Role>
      <ShortName>Note Payable (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://virtra.com/role/NotePayable</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>00000026 - Disclosure - Stockholders??? Equity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/StockholdersEquityTables</Role>
      <ShortName>Stockholders??? Equity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://virtra.com/role/StockholdersEquity</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>00000027 - Disclosure - Schedule of Earnings Per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/ScheduleOfEarningsPerShareDetails</Role>
      <ShortName>Schedule of Earnings Per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>00000028 - Disclosure - Organization and Significant Accounting Policies (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative</Role>
      <ShortName>Organization and Significant Accounting Policies (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesTables</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>00000029 - Disclosure - Schedule of Inventory (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/ScheduleOfInventoryDetails</Role>
      <ShortName>Schedule of Inventory (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>29</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>00000030 - Disclosure - Inventory (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/InventoryDetailsNarrative</Role>
      <ShortName>Inventory (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://virtra.com/role/InventoryTables</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>00000031 - Disclosure - Schedule of Property and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails</Role>
      <ShortName>Schedule of Property and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>31</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>00000032 - Disclosure - Property and Equipment (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/PropertyAndEquipmentDetailsNarrative</Role>
      <ShortName>Property and Equipment (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://virtra.com/role/PropertyAndEquipmentTables</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>00000033 - Disclosure - Schedule of Intangible Asset (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/ScheduleOfIntangibleAssetDetails</Role>
      <ShortName>Schedule of Intangible Asset (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>33</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>00000034 - Disclosure - Intangible Asset (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/IntangibleAssetDetailsNarrative</Role>
      <ShortName>Intangible Asset (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://virtra.com/role/IntangibleAssetTables</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>00000035 - Disclosure - Schedule of Balance Sheet Classification of Lease Assets and Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesDetails</Role>
      <ShortName>Schedule of Balance Sheet Classification of Lease Assets and Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>00000036 - Disclosure - Schedule of Future Minimum Lease Payments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails</Role>
      <ShortName>Schedule of Future Minimum Lease Payments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>36</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>00000037 - Disclosure - Leases (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/LeasesDetailsNarrative</Role>
      <ShortName>Leases (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://virtra.com/role/LeasesTables</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>00000038 - Disclosure - Schedule of Accrued Compensation and Related Costs (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails</Role>
      <ShortName>Schedule of Accrued Compensation and Related Costs (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>00000039 - Disclosure - Schedule of Accrued Expenses and Other Current Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails</Role>
      <ShortName>Schedule of Accrued Expenses and Other Current Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>00000040 - Disclosure - Schedule of Notes Payable (Details)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://virtra.com/role/ScheduleOfNotesPayableDetails</Role>
      <ShortName>Schedule of Notes Payable (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>00000041 - Disclosure - Note Payable (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/NotePayableDetailsNarrative</Role>
      <ShortName>Note Payable (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://virtra.com/role/NotePayableTables</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>00000042 - Disclosure - Related Party Transactions (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative</Role>
      <ShortName>Related Party Transactions (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://virtra.com/role/RelatedPartyTransactions</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>00000043 - Disclosure - Commitments and Contingencies (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative</Role>
      <ShortName>Commitments and Contingencies (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://virtra.com/role/CommitmentsAndContingencies</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>00000044 - Disclosure - Schedule of Non-qualified Stock Options (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails</Role>
      <ShortName>Schedule of Non-qualified Stock Options (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>00000045 - Disclosure - Stockholders??? Equity (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://virtra.com/role/StockholdersEquityDetailsNarrative</Role>
      <ShortName>Stockholders??? Equity (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://virtra.com/role/StockholdersEquityTables</ParentRole>
      <Position>45</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-Q" original="form10-q.htm">form10-q.htm</File>
    <File>ex31-1.htm</File>
    <File>ex31-2.htm</File>
    <File>ex31-3.htm</File>
    <File>ex32-1.htm</File>
    <File>vtsi-20220630.xsd</File>
    <File>vtsi-20220630_cal.xml</File>
    <File>vtsi-20220630_def.xml</File>
    <File>vtsi-20220630_lab.xml</File>
    <File>vtsi-20220630_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="654">http://fasb.org/us-gaap/2022</BaseTaxonomy>
    <BaseTaxonomy items="30">http://xbrl.sec.gov/dei/2022</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>62
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "form10-q.htm": {
   "axisCustom": 0,
   "axisStandard": 25,
   "contextCount": 167,
   "dts": {
    "calculationLink": {
     "local": [
      "vtsi-20220630_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "vtsi-20220630_def.xml"
     ]
    },
    "inline": {
     "local": [
      "form10-q.htm"
     ]
    },
    "labelLink": {
     "local": [
      "vtsi-20220630_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "vtsi-20220630_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "vtsi-20220630.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd",
      "https://xbrl.sec.gov/country/2022/country-2022.xsd",
      "https://xbrl.sec.gov/dei/2022/dei-2022.xsd"
     ]
    }
   },
   "elementCount": 416,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2022": 92,
    "http://virtra.com/20220630": 26,
    "http://xbrl.sec.gov/dei/2022": 4,
    "total": 122
   },
   "keyCustom": 16,
   "keyStandard": 206,
   "memberCustom": 41,
   "memberStandard": 24,
   "nsprefix": "VTSI",
   "nsuri": "http://virtra.com/20220630",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "b",
       "span",
       "p",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "00000001 - Document - Cover",
     "role": "http://virtra.com/role/Cover",
     "shortName": "Cover",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "b",
       "span",
       "p",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000010 - Disclosure - Intangible Asset",
     "role": "http://virtra.com/role/IntangibleAsset",
     "shortName": "Intangible Asset",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeasesOfLesseeDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000011 - Disclosure - Leases",
     "role": "http://virtra.com/role/Leases",
     "shortName": "Leases",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeasesOfLesseeDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000012 - Disclosure - Accrued Expenses",
     "role": "http://virtra.com/role/AccruedExpenses",
     "shortName": "Accrued Expenses",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000013 - Disclosure - Note Payable",
     "role": "http://virtra.com/role/NotePayable",
     "shortName": "Note Payable",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000014 - Disclosure - Related Party Transactions",
     "role": "http://virtra.com/role/RelatedPartyTransactions",
     "shortName": "Related Party Transactions",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000015 - Disclosure - Commitments and Contingencies",
     "role": "http://virtra.com/role/CommitmentsAndContingencies",
     "shortName": "Commitments and Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000016 - Disclosure - Stockholders\u2019 Equity",
     "role": "http://virtra.com/role/StockholdersEquity",
     "shortName": "Stockholders\u2019 Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000017 - Disclosure - Subsequent Events",
     "role": "http://virtra.com/role/SubsequentEvents",
     "shortName": "Subsequent Events",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "VTSI:OrganizationAndBusinessOperationsPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000018 - Disclosure - Organization and Significant Accounting Policies (Policies)",
     "role": "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies",
     "shortName": "Organization and Significant Accounting Policies (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "VTSI:OrganizationAndBusinessOperationsPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "VTSI:DisaggregationOfRevenuePolicyTextBlock",
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000019 - Disclosure - Organization and Significant Accounting Policies (Tables)",
     "role": "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesTables",
     "shortName": "Organization and Significant Accounting Policies (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "VTSI:DisaggregationOfRevenuePolicyTextBlock",
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00000002 - Statement - Balance Sheets",
     "role": "http://virtra.com/role/BalanceSheets",
     "shortName": "Balance Sheets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000020 - Disclosure - Inventory (Tables)",
     "role": "http://virtra.com/role/InventoryTables",
     "shortName": "Inventory (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000021 - Disclosure - Property and Equipment (Tables)",
     "role": "http://virtra.com/role/PropertyAndEquipmentTables",
     "shortName": "Property and Equipment (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000022 - Disclosure - Intangible Asset (Tables)",
     "role": "http://virtra.com/role/IntangibleAssetTables",
     "shortName": "Intangible Asset (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:LeasesOfLesseeDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "VTSI:ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000023 - Disclosure - Leases (Tables)",
     "role": "http://virtra.com/role/LeasesTables",
     "shortName": "Leases (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:LeasesOfLesseeDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "VTSI:ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000024 - Disclosure - Accrued Expenses (Tables)",
     "role": "http://virtra.com/role/AccruedExpensesTables",
     "shortName": "Accrued Expenses (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000025 - Disclosure - Note Payable (Tables)",
     "role": "http://virtra.com/role/NotePayableTables",
     "shortName": "Note Payable (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000026 - Disclosure - Stockholders\u2019 Equity (Tables)",
     "role": "http://virtra.com/role/StockholdersEquityTables",
     "shortName": "Stockholders\u2019 Equity (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "VTSI:DisaggregationOfRevenuePolicyTextBlock",
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-04-012022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "VTSI:SimulatorsandAccessoriesRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000027 - Disclosure - Schedule of Earnings Per Share (Details)",
     "role": "http://virtra.com/role/ScheduleOfEarningsPerShareDetails",
     "shortName": "Schedule of Earnings Per Share (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "VTSI:DisaggregationOfRevenuePolicyTextBlock",
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-04-012022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "VTSI:SimulatorsandAccessoriesRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-04-012022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000028 - Disclosure - Organization and Significant Accounting Policies (Details Narrative)",
     "role": "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative",
     "shortName": "Organization and Significant Accounting Policies (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:StandardProductWarrantyPolicy",
       "VTSI:DisaggregationOfRevenuePolicyTextBlock",
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryWorkInProcessAndRawMaterials",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000029 - Disclosure - Schedule of Inventory (Details)",
     "role": "http://virtra.com/role/ScheduleOfInventoryDetails",
     "shortName": "Schedule of Inventory (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryWorkInProcessAndRawMaterials",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-06-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USDPShares",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00000003 - Statement - Balance Sheets (Parenthetical)",
     "role": "http://virtra.com/role/BalanceSheetsParenthetical",
     "shortName": "Balance Sheets (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-06-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USDPShares",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:OtherAssetsNoncurrent",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000030 - Disclosure - Inventory (Details Narrative)",
     "role": "http://virtra.com/role/InventoryDetailsNarrative",
     "shortName": "Inventory (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-06-30_custom_SparePartsMember",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:OtherAssetsNoncurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000031 - Disclosure - Schedule of Property and Equipment (Details)",
     "role": "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails",
     "shortName": "Schedule of Property and Equipment (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:Depreciation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000032 - Disclosure - Property and Equipment (Details Narrative)",
     "role": "http://virtra.com/role/PropertyAndEquipmentDetailsNarrative",
     "shortName": "Property and Equipment (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:Depreciation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000033 - Disclosure - Schedule of Intangible Asset (Details)",
     "role": "http://virtra.com/role/ScheduleOfIntangibleAssetDetails",
     "shortName": "Schedule of Intangible Asset (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000034 - Disclosure - Intangible Asset (Details Narrative)",
     "role": "http://virtra.com/role/IntangibleAssetDetailsNarrative",
     "shortName": "Intangible Asset (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000035 - Disclosure - Schedule of Balance Sheet Classification of Lease Assets and Liabilities (Details)",
     "role": "http://virtra.com/role/ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesDetails",
     "shortName": "Schedule of Balance Sheet Classification of Lease Assets and Liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:LeasesOfLesseeDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000036 - Disclosure - Schedule of Future Minimum Lease Payments (Details)",
     "role": "http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails",
     "shortName": "Schedule of Future Minimum Lease Payments (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:LeasesOfLesseeDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:LeasesOfLesseeDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-04-012022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:PaymentsForRent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000037 - Disclosure - Leases (Details Narrative)",
     "role": "http://virtra.com/role/LeasesDetailsNarrative",
     "shortName": "Leases (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:LeasesOfLesseeDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-04-012022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:PaymentsForRent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccruedSalariesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000038 - Disclosure - Schedule of Accrued Compensation and Related Costs (Details)",
     "role": "http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails",
     "shortName": "Schedule of Accrued Compensation and Related Costs (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccruedSalariesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProductWarrantyAccrualClassifiedCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000039 - Disclosure - Schedule of Accrued Expenses and Other Current Liabilities (Details)",
     "role": "http://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails",
     "shortName": "Schedule of Accrued Expenses and Other Current Liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProductWarrantyAccrualClassifiedCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-04-012022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00000004 - Statement - Statements of Operations (Unaudited)",
     "role": "http://virtra.com/role/StatementsOfOperations",
     "shortName": "Statements of Operations (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-04-012022-06-30",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:NotesPayableCurrent",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000040 - Disclosure - Schedule of Notes Payable (Details)",
     "role": "http://virtra.com/role/ScheduleOfNotesPayableDetails",
     "shortName": "Schedule of Notes Payable (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-06-30_custom_NotesPayableMember36707812",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:DebtInstrumentFaceAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000041 - Disclosure - Note Payable (Details Narrative)",
     "role": "http://virtra.com/role/NotePayableDetailsNarrative",
     "shortName": "Note Payable (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2021-08-252021-08-25_custom_ArizonaBankAndTrustMember",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:ProceedsFromLoans",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000042 - Disclosure - Related Party Transactions (Details Narrative)",
     "role": "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative",
     "shortName": "Related Party Transactions (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-04-012022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000043 - Disclosure - Commitments and Contingencies (Details Narrative)",
     "role": "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative",
     "shortName": "Commitments and Contingencies (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-012022-03-31_us-gaap_DeferredProfitSharingMember",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:OperatingExpenses",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2021-12-31_custom_NonQualifiedStockOptionMember",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000044 - Disclosure - Schedule of Non-qualified Stock Options (Details)",
     "role": "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails",
     "shortName": "Schedule of Non-qualified Stock Options (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2021-12-31_custom_NonQualifiedStockOptionMember",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "span",
       "span",
       "span",
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000045 - Disclosure - Stockholders\u2019 Equity (Details Narrative)",
     "role": "http://virtra.com/role/StockholdersEquityDetailsNarrative",
     "shortName": "Stockholders\u2019 Equity (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "span",
       "span",
       "span",
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2020-12-31_us-gaap_CommonStockMember",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00000005 - Statement - Statements of Changes in Stockholders' Equity (Unaudited)",
     "role": "http://virtra.com/role/StatementsOfChangesInStockholdersEquity",
     "shortName": "Statements of Changes in Stockholders' Equity (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2020-12-31_us-gaap_CommonStockMember",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-04-012022-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00000006 - Statement - Statements of Cash Flows (Unaudited)",
     "role": "http://virtra.com/role/StatementsOfCashFlows",
     "shortName": "Statements of Cash Flows (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000007 - Disclosure - Organization and Significant Accounting Policies",
     "role": "http://virtra.com/role/OrganizationAndSignificantAccountingPolicies",
     "shortName": "Organization and Significant Accounting Policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000008 - Disclosure - Inventory",
     "role": "http://virtra.com/role/Inventory",
     "shortName": "Inventory",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000009 - Disclosure - Property and Equipment",
     "role": "http://virtra.com/role/PropertyAndEquipment",
     "shortName": "Property and Equipment",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-01to2022-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 67,
   "tag": {
    "VTSI_AcquiredLeaseIntangibleAssetsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Acquired Lease Intangible Assets [Member]"
       }
      }
     },
     "localname": "AcquiredLeaseIntangibleAssetsMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/ScheduleOfIntangibleAssetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Adjustments to additional paid-in capital stock reserved for future services.",
        "label": "Stock reserved for future services"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/StatementsOfChangesInStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "VTSI_ArizonaBankAndTrustMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Arizona Bank and Trust [Member]",
        "label": "Arizona Bank and Trust [Member]"
       }
      }
     },
     "localname": "ArizonaBankAndTrustMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/NotePayableDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_BoardMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Board [Member]",
        "label": "Board [Member]"
       }
      }
     },
     "localname": "BoardMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_CapitalizedMediaContentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Capitalized Media Content [Member]"
       }
      }
     },
     "localname": "CapitalizedMediaContentMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/ScheduleOfIntangibleAssetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_ChiefExecutiveOfficerAndChiefOperatingOfficerMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Chief Executive Officer and Chief Operating Officer [Member]",
        "label": "Chief Executive Officer and Chief Operating Officer [Member]"
       }
      }
     },
     "localname": "ChiefExecutiveOfficerAndChiefOperatingOfficerMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_ChiefExecutiveOfficerOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Chief Executive Officer One [Member]",
        "label": "Chief Executive Officer One [Member]"
       }
      }
     },
     "localname": "ChiefExecutiveOfficerOneMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_ChiefExecutiveOfficerTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Chief Executive Officer Two [Member]",
        "label": "Chief Executive Officer Two [Member]"
       }
      }
     },
     "localname": "ChiefExecutiveOfficerTwoMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_CoChiefExecutiveOfficerMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Co-Chief Executive Officer [Member]",
        "label": "Co-Chief Executive Officer [Member]"
       }
      }
     },
     "localname": "CoChiefExecutiveOfficerMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_CommercialCustomersMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commercial Customers [Member]",
        "label": "Commercial Customers [Member]"
       }
      }
     },
     "localname": "CommercialCustomersMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_ConversionOfInventoryToPropertyAndEquipment": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Conversion of inventory to propertyand equipment.",
        "label": "Conversion of inventory to property and equipment"
       }
      }
     },
     "localname": "ConversionOfInventoryToPropertyAndEquipment",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "VTSI_CustomizedSoftwareAndCustomizedContentScenarios": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customized software and customized content scenarios.",
        "label": "Customized software and customized content scenarios",
        "verboseLabel": "Simulators and accessories"
       }
      }
     },
     "localname": "CustomizedSoftwareAndCustomizedContentScenarios",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/ScheduleOfEarningsPerShareDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "VTSI_DeferredRevenueMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred Revenue [Member]",
        "label": "Deferred Revenue [Member]"
       }
      }
     },
     "localname": "DeferredRevenueMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_DisaggregationOfRevenuePolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disaggregation Of Revenue [Policy Text Block]",
        "label": "Disaggregation of Revenue"
       }
      }
     },
     "localname": "DisaggregationOfRevenuePolicyTextBlock",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "VTSI_EquityIncentivePlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity Incentive Plan [Member]",
        "label": "Equity Incentive Plan [Member]"
       }
      }
     },
     "localname": "EquityIncentivePlanMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_ExtendedServicetypeWarranties": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Extended service-type warranties.",
        "label": "Extended service-type warranties",
        "verboseLabel": "Simulators and accessories"
       }
      }
     },
     "localname": "ExtendedServicetypeWarranties",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/ScheduleOfEarningsPerShareDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "VTSI_FurnitureAndOfficeEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Furniture And Office Equipment [Member]"
       }
      }
     },
     "localname": "FurnitureAndOfficeEquipmentMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_GeographicDistributionCommercialMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commercial [Member]",
        "label": "Commercial [Member]"
       }
      }
     },
     "localname": "GeographicDistributionCommercialMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/ScheduleOfEarningsPerShareDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_GeographicDistributionGovernmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Government [Member]",
        "label": "Government [Member]"
       }
      }
     },
     "localname": "GeographicDistributionGovernmentMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/ScheduleOfEarningsPerShareDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_GovernmentCustomersMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Government Customers [Member]",
        "label": "Government Customers [Member]"
       }
      }
     },
     "localname": "GovernmentCustomersMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_IncrementalCommonSharesAttributableToStockOptions": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Incremental common shares attributable to stock options.",
        "label": "Incremental shares from stock options"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToStockOptions",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/ScheduleOfEarningsPerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "VTSI_InstallationAndTraining": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Installation and training.",
        "label": "Installation and training",
        "verboseLabel": "Simulators and accessories"
       }
      }
     },
     "localname": "InstallationAndTraining",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/ScheduleOfEarningsPerShareDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "VTSI_InstitutionalInvestorsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Institutional Investors [Member]",
        "label": "Institutional Investors [Member]"
       }
      }
     },
     "localname": "InstitutionalInvestorsMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_InternationalCustomersMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "International Customers [Member]",
        "label": "International Customers [Member]"
       }
      }
     },
     "localname": "InternationalCustomersMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_JuneThirtyTwoThousandAndTwentyTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "June 30, 2022 [Member]",
        "label": "June 30, 2022 [Member]"
       }
      }
     },
     "localname": "JuneThirtyTwoThousandAndTwentyTwoMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_LicensingAndRoyaltiesRevenue": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Licensing and royalties revenue.",
        "label": "Licensing and royalties revenue",
        "verboseLabel": "Simulators and accessories"
       }
      }
     },
     "localname": "LicensingAndRoyaltiesRevenue",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/ScheduleOfEarningsPerShareDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "VTSI_LongerThanOneYearMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Longer Than One Year [Member]",
        "label": "Longer Than One Year [Member]"
       }
      }
     },
     "localname": "LongerThanOneYearMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_Mr.GivensMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Mr.Givens [Member]",
        "label": "Mr.Givens [Member]"
       }
      }
     },
     "localname": "Mr.GivensMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_NetSalesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Sales [Member]"
       }
      }
     },
     "localname": "NetSalesMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_NoCommercialCustomerMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "No Commercial Customer [Member]",
        "label": "No Commercial Customer [Member]"
       }
      }
     },
     "localname": "NoCommercialCustomerMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_NonQualifiedStockOptionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Non Qualified Stock Option [Member]",
        "label": "Non Qualified Stock Option [Member]"
       }
      }
     },
     "localname": "NonQualifiedStockOptionMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_NotesPayableMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Notes Payable [Member]"
       }
      }
     },
     "localname": "NotesPayableMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/ScheduleOfNotesPayableDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_OfferingMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Offering [Member]",
        "label": "Offering [Member]"
       }
      }
     },
     "localname": "OfferingMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_OneCommercialCustomerMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "One Commercial Customer [Member]",
        "label": "One Commercial Customer [Member]"
       }
      }
     },
     "localname": "OneCommercialCustomerMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_OneFederalAgencyMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "One Federal Agency [Member]",
        "label": "One Federal Agency [Member]"
       }
      }
     },
     "localname": "OneFederalAgencyMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_OneHundredAndNineteenRegularMonthlyPaymentsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "199 Regular Monthly Payments [Member]",
        "label": "199 Regular Monthly Payments [Member]"
       }
      }
     },
     "localname": "OneHundredAndNineteenRegularMonthlyPaymentsMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/NotePayableDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_OneIrregularPaymentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "One Irregular Payment [Member]",
        "label": "One Irregular Payment [Member]"
       }
      }
     },
     "localname": "OneIrregularPaymentMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/NotePayableDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_OneStateAgencyMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "One State Agency [Member]",
        "label": "One State Agency [Member]"
       }
      }
     },
     "localname": "OneStateAgencyMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_OneYearMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "One Year [Member]",
        "label": "One Year [Member]"
       }
      }
     },
     "localname": "OneYearMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_OneYearOrLessMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "One Year or Less [Member]",
        "label": "One Year or Less [Member]"
       }
      }
     },
     "localname": "OneYearOrLessMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_OrganizationAndBusinessOperationsPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Organization And Business Operations [Policy Text Block]",
        "label": "Organization and Business Operations"
       }
      }
     },
     "localname": "OrganizationAndBusinessOperationsPolicyTextBlock",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "VTSI_PlacementAgencyAgreementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Placement Agency Agreement [Member]",
        "label": "Placement Agency Agreement [Member]"
       }
      }
     },
     "localname": "PlacementAgencyAgreementMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_PropertyMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Property [Member]",
        "label": "Property [Member]"
       }
      }
     },
     "localname": "PropertyMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/NotePayableDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_RegisteredDirectorOfferingMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Registered Director Offering [Member]",
        "label": "Registered Director Offering [Member]"
       }
      }
     },
     "localname": "RegisteredDirectorOfferingMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_ReimbursementLegalFeesAndExpenses": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reimbursement legal fees and expenses.",
        "label": "Reimbursement legal fees and expenses"
       }
      }
     },
     "localname": "ReimbursementLegalFeesAndExpenses",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "VTSI_RothCapitalPartnersLLCMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Roth Capital Partners, LLC [Member]",
        "label": "Roth Capital Partners, LLC [Member]"
       }
      }
     },
     "localname": "RothCapitalPartnersLLCMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_STEPEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "S T E P Equipment [Member]"
       }
      }
     },
     "localname": "STEPEquipmentMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule Of Balance Sheet Classification Of Lease Assets And Liabilities [Table Text Block]",
        "label": "Schedule of Balance Sheet Classification of Lease Assets and Liabilities"
       }
      }
     },
     "localname": "ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "VTSI_SecuritiesPurchaseAgreementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Securities Purchase Agreement [Member]",
        "label": "Securities Purchase Agreement [Member]"
       }
      }
     },
     "localname": "SecuritiesPurchaseAgreementMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options, redeemed.",
        "label": "Number of stock options, redeemed"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average exercise price, redeemed.",
        "label": "Weighted exercise price redeemed"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based compensation arrangement by Share-based payment award, options, vested and expected to vest, exercisable and outstanding, aggregate intrinsic value.",
        "label": "Exercisable and outstanding intriinsic value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "VTSI_SimulatorsandAccessoriesRevenue": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Simulatorsand accessories revenue.",
        "label": "Simulators and accessories"
       }
      }
     },
     "localname": "SimulatorsandAccessoriesRevenue",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/ScheduleOfEarningsPerShareDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "VTSI_SparePartsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Spare Parts [Member]",
        "label": "Spare Parts [Member]"
       }
      }
     },
     "localname": "SparePartsMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/InventoryDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_StockIssuedDuringPeriodsharesForSigningBonus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock issued during period for signing bonus, shares.",
        "label": "Stock issued during period for signing bonus, shares"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodsharesForSigningBonus",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "sharesItemType"
    },
    "VTSI_TwoThousandAndSeventeenEquityIncentivePlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "2017 Equity Incentive Plan [Member]",
        "label": "2017 Equity Incentive Plan [Member]"
       }
      }
     },
     "localname": "TwoThousandAndSeventeenEquityIncentivePlanMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "VTSI_WarrantyMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Warranty [Member]",
        "label": "Warranty [Member]"
       }
      }
     },
     "localname": "WarrantyMember",
     "nsuri": "http://virtra.com/20220630",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_AmendmentDescription": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of changes contained within amended document.",
        "label": "Amendment Description"
       }
      }
     },
     "localname": "AmendmentDescription",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AnnualInformationForm": {
     "auth_ref": [
      "r459"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag with value true on a form if it is an annual report containing an annual information form.",
        "label": "Annual Information Form"
       }
      }
     },
     "localname": "AnnualInformationForm",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AuditedAnnualFinancialStatements": {
     "auth_ref": [
      "r459"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag with value true on a form if it is an annual report containing audited financial statements.",
        "label": "Audited Annual Financial Statements"
       }
      }
     },
     "localname": "AuditedAnnualFinancialStatements",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CountryRegion": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Region code of country",
        "label": "Country Region"
       }
      }
     },
     "localname": "CountryRegion",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover [Abstract]"
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "xbrltype": "stringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentAccountingStandard": {
     "auth_ref": [
      "r458"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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'.",
        "label": "Document Accounting Standard"
       }
      }
     },
     "localname": "DocumentAccountingStandard",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "accountingStandardItemType"
    },
    "dei_DocumentAnnualReport": {
     "auth_ref": [
      "r456",
      "r458",
      "r459"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an annual report.",
        "label": "Document Annual Report"
       }
      }
     },
     "localname": "DocumentAnnualReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.",
        "label": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.",
        "label": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.",
        "label": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentPeriodStartDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The start date of the period covered in the document, in YYYY-MM-DD format.",
        "label": "Document Period Start Date"
       }
      }
     },
     "localname": "DocumentPeriodStartDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentQuarterlyReport": {
     "auth_ref": [
      "r457"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an quarterly report.",
        "label": "Document Quarterly Report"
       }
      }
     },
     "localname": "DocumentQuarterlyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentRegistrationStatement": {
     "auth_ref": [
      "r445"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a registration statement.",
        "label": "Document Registration Statement"
       }
      }
     },
     "localname": "DocumentRegistrationStatement",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentShellCompanyEventDate": {
     "auth_ref": [
      "r458"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date of event requiring a shell company report.",
        "label": "Document Shell Company Event Date"
       }
      }
     },
     "localname": "DocumentShellCompanyEventDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentShellCompanyReport": {
     "auth_ref": [
      "r458"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act.",
        "label": "Document Shell Company Report"
       }
      }
     },
     "localname": "DocumentShellCompanyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r460"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "auth_ref": [
      "r448"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Documents incorporated by reference.",
        "label": "Documents Incorporated by Reference [Text Block]"
       }
      }
     },
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "textBlockItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressAddressLine2": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 2 such as Street or Suite number",
        "label": "Entity Address, Address Line Two"
       }
      }
     },
     "localname": "EntityAddressAddressLine2",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressAddressLine3": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 3 such as an Office Park",
        "label": "Entity Address, Address Line Three"
       }
      }
     },
     "localname": "EntityAddressAddressLine3",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCountry": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "ISO 3166-1 alpha-2 country code.",
        "label": "Entity Address, Country"
       }
      }
     },
     "localname": "EntityAddressCountry",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "countryCodeItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityBankruptcyProceedingsReportingCurrent": {
     "auth_ref": [
      "r451"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity Bankruptcy Proceedings, Reporting Current"
       }
      }
     },
     "localname": "EntityBankruptcyProceedingsReportingCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r447"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains."
       }
      }
     },
     "localname": "EntityDomain",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/NotePayableDetailsNarrative",
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r447"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityExTransitionPeriod": {
     "auth_ref": [
      "r482"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Elected Not To Use the Extended Transition Period"
       }
      }
     },
     "localname": "EntityExTransitionPeriod",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r447"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r479"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).",
        "label": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityPrimarySicNumber": {
     "auth_ref": [
      "r459"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary Standard Industrial Classification (SIC) Number for the Entity.",
        "label": "Entity Primary SIC Number"
       }
      }
     },
     "localname": "EntityPrimarySicNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "sicNumberItemType"
    },
    "dei_EntityPublicFloat": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.",
        "label": "Entity Public Float"
       }
      }
     },
     "localname": "EntityPublicFloat",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "monetaryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r447"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r447"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r447"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r447"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_EntityVoluntaryFilers": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.",
        "label": "Entity Voluntary Filers"
       }
      }
     },
     "localname": "EntityVoluntaryFilers",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "auth_ref": [
      "r480"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.",
        "label": "Entity Well-known Seasoned Issuer"
       }
      }
     },
     "localname": "EntityWellKnownSeasonedIssuer",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_Extension": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Extension number for local phone number.",
        "label": "Extension"
       }
      }
     },
     "localname": "Extension",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_LegalEntityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The set of legal entities associated with a report.",
        "label": "Legal Entity [Axis]"
       }
      }
     },
     "localname": "LegalEntityAxis",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/NotePayableDetailsNarrative",
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_NoTradingSymbolFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a security having no trading symbol.",
        "label": "No Trading Symbol Flag"
       }
      }
     },
     "localname": "NoTradingSymbolFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "trueItemType"
    },
    "dei_OtherReportingStandardItemNumber": {
     "auth_ref": [
      "r458"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "\"Item 17\" or \"Item 18\" specified when the basis of accounting is neither US GAAP nor IFRS.",
        "label": "Other Reporting Standard Item Number"
       }
      }
     },
     "localname": "OtherReportingStandardItemNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "otherReportingStandardItemNumberItemType"
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "auth_ref": [
      "r452"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Pre-commencement Issuer Tender Offer"
       }
      }
     },
     "localname": "PreCommencementIssuerTenderOffer",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_PreCommencementTenderOffer": {
     "auth_ref": [
      "r453"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Pre-commencement Tender Offer"
       }
      }
     },
     "localname": "PreCommencementTenderOffer",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r446"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_Security12gTitle": {
     "auth_ref": [
      "r450"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(g) registered security.",
        "label": "Title of 12(g) Security"
       }
      }
     },
     "localname": "Security12gTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r449"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_SecurityReportingObligation": {
     "auth_ref": [
      "r454"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "15(d), indicating whether the security has a reporting obligation under that section of the Exchange Act.",
        "label": "Security Reporting Obligation"
       }
      }
     },
     "localname": "SecurityReportingObligation",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "securityReportingObligationItemType"
    },
    "dei_SolicitingMaterial": {
     "auth_ref": [
      "r455"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Soliciting Material"
       }
      }
     },
     "localname": "SolicitingMaterial",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "dei_WrittenCommunications": {
     "auth_ref": [
      "r481"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Written Communications"
       }
      }
     },
     "localname": "WrittenCommunications",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://virtra.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "srt_ChiefOperatingOfficerMember": {
     "auth_ref": [
      "r155",
      "r368"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Chief Operating Officer [Member]"
       }
      }
     },
     "localname": "ChiefOperatingOfficerMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative",
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r154",
      "r271",
      "r276",
      "r418"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r186",
      "r187",
      "r188",
      "r189",
      "r210",
      "r244",
      "r283",
      "r284",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r415",
      "r419",
      "r442",
      "r443"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NameOfMajorCustomerDomain": {
     "auth_ref": [
      "r154",
      "r271",
      "r276",
      "r418"
     ],
     "localname": "NameOfMajorCustomerDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r151",
      "r187",
      "r188",
      "r271",
      "r274",
      "r385",
      "r414",
      "r416"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r151",
      "r187",
      "r188",
      "r271",
      "r274",
      "r385",
      "r414",
      "r416"
     ],
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r181",
      "r186",
      "r187",
      "r188",
      "r189",
      "r210",
      "r244",
      "r282",
      "r283",
      "r284",
      "r310",
      "r311",
      "r312",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r415",
      "r419",
      "r442",
      "r443"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r181",
      "r186",
      "r187",
      "r188",
      "r189",
      "r210",
      "r244",
      "r282",
      "r283",
      "r284",
      "r310",
      "r311",
      "r312",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r415",
      "r419",
      "r442",
      "r443"
     ],
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [
      "r152",
      "r153",
      "r271",
      "r275",
      "r417",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441"
     ],
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative",
      "http://virtra.com/role/ScheduleOfEarningsPerShareDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r152",
      "r153",
      "r271",
      "r275",
      "r417",
      "r427",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative",
      "http://virtra.com/role/ScheduleOfEarningsPerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualAxis": {
     "auth_ref": [
      "r155",
      "r368"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Axis]"
       }
      }
     },
     "localname": "TitleOfIndividualAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative",
      "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative",
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "auth_ref": [],
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative",
      "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative",
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for accounts payable, accrued expenses, and other liabilities that are classified as current at the end of the reporting period.",
        "label": "Schedule of Accrued Expenses and Other Current Liabilities"
       }
      }
     },
     "localname": "AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/AccruedExpensesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": {
     "auth_ref": [
      "r35"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.",
        "label": "Accrued Expenses"
       }
      }
     },
     "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/AccruedExpenses"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      },
      "http://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities incurred to vendors for goods and services received, and accrued liabilities classified as other, payable within one year or the normal operating cycle, if longer.",
        "label": "Accrued expenses and other current liabilities",
        "totalLabel": "Total accrued expenses and other current liabilities"
       }
      }
     },
     "localname": "AccountsPayableAndOtherAccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets",
      "http://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r34",
      "r373"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accounts payable"
       }
      }
     },
     "localname": "AccountsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableMember": {
     "auth_ref": [
      "r428"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold.",
        "label": "Accounts Receivable [Member]"
       }
      }
     },
     "localname": "AccountsReceivableMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r156",
      "r157"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.",
        "label": "Accounts receivable, net"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedEmployeeBenefitsCurrent": {
     "auth_ref": [
      "r39"
     ],
     "calculation": {
      "http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_EmployeeRelatedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations, excluding pension and other postretirement benefits, incurred through that date and payable for perquisites provided to employees pertaining to services received from them. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Employee benefits payable"
       }
      }
     },
     "localname": "AccruedEmployeeBenefitsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedSalariesCurrent": {
     "auth_ref": [
      "r6",
      "r39"
     ],
     "calculation": {
      "http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_EmployeeRelatedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Salaries and wages payable"
       }
      }
     },
     "localname": "AccruedSalariesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedVacationCurrent": {
     "auth_ref": [
      "r39",
      "r279"
     ],
     "calculation": {
      "http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_EmployeeRelatedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for unused vacation time owed to employees based on the entity's vacation benefit given to its employees. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued paid time off (PTO)"
       }
      }
     },
     "localname": "AccruedVacationCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "auth_ref": [
      "r13",
      "r177"
     ],
     "calculation": {
      "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "negatedLabel": "Less: Accumulated depreciation and amortization"
       }
      }
     },
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapital": {
     "auth_ref": [
      "r24",
      "r373"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Additional paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapital",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r91",
      "r92",
      "r93",
      "r317",
      "r318",
      "r319",
      "r342"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.",
        "label": "Additional Paid-in Capital [Member]"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfChangesInStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net income to net cash (used in) provided by operating activities:"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r314"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.",
        "label": "Compensation expenses"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "auth_ref": [
      "r76",
      "r166",
      "r172"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Amortization of intangible asset"
       }
      }
     },
     "localname": "AmortizationOfIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/IntangibleAssetDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ArrangementsAndNonarrangementTransactionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations."
       }
      }
     },
     "localname": "ArrangementsAndNonarrangementTransactionsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r16",
      "r87",
      "r140",
      "r143",
      "r149",
      "r159",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r206",
      "r330",
      "r332",
      "r348",
      "r371",
      "r373",
      "r389",
      "r404"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets",
        "totalLabel": "Total assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "ASSETS"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r4",
      "r33",
      "r87",
      "r159",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r206",
      "r330",
      "r332",
      "r348",
      "r371",
      "r373"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets, Current",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current assets:"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsNoncurrent": {
     "auth_ref": [
      "r87",
      "r159",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r206",
      "r330",
      "r332",
      "r348",
      "r371"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold or consumed after one year or beyond the normal operating cycle, if longer.",
        "label": "Assets, Noncurrent",
        "totalLabel": "Total long-term assets"
       }
      }
     },
     "localname": "AssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsNoncurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term assets:"
       }
      }
     },
     "localname": "AssetsNoncurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AwardDateAxis": {
     "auth_ref": [
      "r285",
      "r286",
      "r287",
      "r289",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r304",
      "r305",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by date or year award under share-based payment arrangement is granted.",
        "label": "Award Date [Axis]"
       }
      }
     },
     "localname": "AwardDateAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative",
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AwardDateDomain": {
     "auth_ref": [
      "r285",
      "r286",
      "r287",
      "r289",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r304",
      "r305",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date or year award under share-based payment arrangement is granted."
       }
      }
     },
     "localname": "AwardDateDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative",
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r285",
      "r286",
      "r287",
      "r289",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r304",
      "r305",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of award under share-based payment arrangement.",
        "label": "Award Type [Axis]"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative",
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location on balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Axis]"
       }
      }
     },
     "localname": "BalanceSheetLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/InventoryDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "auth_ref": [
      "r335",
      "r338"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the balance sheet (statement of financial position)."
       }
      }
     },
     "localname": "BalanceSheetLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/InventoryDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).",
        "label": "Basis of Presentation"
       }
      }
     },
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BuildingAndBuildingImprovementsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities and any addition, improvement, or renovation to the structure, for example, but not limited to, interior masonry, interior flooring, electrical, and plumbing.",
        "label": "Building and Building Improvements [Member]"
       }
      }
     },
     "localname": "BuildingAndBuildingImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r2",
      "r11",
      "r78"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "auth_ref": [
      "r70",
      "r78",
      "r80"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, 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.",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations",
        "periodEndLabel": "Cash and cash equivalents, end of period",
        "periodStartLabel": "Cash and cash equivalents, beginning of period"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "auth_ref": [
      "r70",
      "r349"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfCashFlows": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "totalLabel": "Net increase (decrease) in cash and restricted cash"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashFDICInsuredAmount": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash deposited in financial institutions as of the balance sheet date that is insured by the Federal Deposit Insurance Corporation.",
        "label": "FDIC insured amount"
       }
      }
     },
     "localname": "CashFDICInsuredAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental disclosure of non-cash investing and financing activities:"
       }
      }
     },
     "localname": "CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashUninsuredAmount": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash as of the balance sheet date that is not insured by the Federal Deposit Insurance Corporation.",
        "label": "Uninsured cash and cash equivalents"
       }
      }
     },
     "localname": "CashUninsuredAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ChangeInAccountingEstimateByTypeAxis": {
     "auth_ref": [
      "r99",
      "r118"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of change in accounting estimate.",
        "label": "Change in Accounting Estimate by Type [Axis]"
       }
      }
     },
     "localname": "ChangeInAccountingEstimateByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ChangeInAccountingEstimateTypeDomain": {
     "auth_ref": [
      "r99",
      "r118"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the accounting estimate that was changed that had the effect of adjusting the carrying amount of an existing asset or liability, or that will alter the subsequent accounting for existing or future assets or liabilities."
       }
      }
     },
     "localname": "ChangeInAccountingEstimateTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ClassOfStockDomain": {
     "auth_ref": [
      "r21",
      "r22",
      "r23",
      "r84",
      "r87",
      "r107",
      "r108",
      "r109",
      "r111",
      "r113",
      "r120",
      "r121",
      "r122",
      "r159",
      "r196",
      "r200",
      "r201",
      "r202",
      "r205",
      "r206",
      "r242",
      "r243",
      "r247",
      "r251",
      "r258",
      "r348",
      "r461"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock."
       }
      }
     },
     "localname": "ClassOfStockDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets",
      "http://virtra.com/role/BalanceSheetsParenthetical",
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ClassOfStockLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Class of Stock [Line Items]"
       }
      }
     },
     "localname": "ClassOfStockLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingencies": {
     "auth_ref": [
      "r45",
      "r394",
      "r408"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Commitments and contingencies (See Note 9)"
       }
      }
     },
     "localname": "CommitmentsAndContingencies",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r183",
      "r184",
      "r185",
      "r190",
      "r429"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments and Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/CommitmentsAndContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonClassAMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Classification of common stock representing ownership interest in a corporation.",
        "label": "Common Class A [Member]"
       }
      }
     },
     "localname": "CommonClassAMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets",
      "http://virtra.com/role/BalanceSheetsParenthetical"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonClassBMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Classification of common stock that has different rights than Common Class A, representing ownership interest in a corporation.",
        "label": "Common Class B [Member]"
       }
      }
     },
     "localname": "CommonClassBMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets",
      "http://virtra.com/role/BalanceSheetsParenthetical"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r91",
      "r92",
      "r342"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock [Member]"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative",
      "http://virtra.com/role/StatementsOfChangesInStockholdersEquity",
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r23"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common stock, par value",
        "verboseLabel": "Common stock par value"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheetsParenthetical",
      "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative",
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r23"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common stock, shares authorized"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r23"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.",
        "label": "Common stock, shares issued"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r23",
      "r258"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common stock, shares outstanding"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r23",
      "r373"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Common stock, value"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComputerEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems.",
        "label": "Computer Equipment [Member]"
       }
      }
     },
     "localname": "ComputerEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "auth_ref": [
      "r130",
      "r131",
      "r154",
      "r346",
      "r347",
      "r428"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "localname": "ConcentrationRiskBenchmarkDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "auth_ref": [
      "r130",
      "r131",
      "r154",
      "r346",
      "r347",
      "r426",
      "r428"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by benchmark of concentration risk.",
        "label": "Concentration Risk Benchmark [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "auth_ref": [
      "r130",
      "r131",
      "r154",
      "r346",
      "r347",
      "r426",
      "r428"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.",
        "label": "Concentration Risk Type [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "auth_ref": [
      "r125",
      "r402"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for credit risk.",
        "label": "Concentration of Credit Risk and Major Customers and Suppliers"
       }
      }
     },
     "localname": "ConcentrationRiskCreditRisk",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "auth_ref": [
      "r130",
      "r131",
      "r154",
      "r346",
      "r347"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.",
        "label": "Concentration of credit risk"
       }
      }
     },
     "localname": "ConcentrationRiskPercentage1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "auth_ref": [
      "r130",
      "r131",
      "r154",
      "r346",
      "r347",
      "r428"
     ],
     "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."
       }
      }
     },
     "localname": "ConcentrationRiskTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConstructionInProgressMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.",
        "label": "Construction in Progress [Member]"
       }
      }
     },
     "localname": "ConstructionInProgressMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "auth_ref": [
      "r268",
      "r269",
      "r272"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Deferred revenue, short-term",
        "verboseLabel": "Customer deposits, current"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets",
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityNoncurrent": {
     "auth_ref": [
      "r268",
      "r269",
      "r272"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent.",
        "label": "Deferred revenue, long-term"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "auth_ref": [
      "r273"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.",
        "label": "Revenue recognized"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r61",
      "r385"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.",
        "label": "Cost of sales"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "auth_ref": [
      "r128",
      "r154"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Customer Concentration Risk [Member]"
       }
      }
     },
     "localname": "CustomerConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "localname": "DebtDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "auth_ref": [
      "r83",
      "r213",
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r219",
      "r224",
      "r231",
      "r232",
      "r233",
      "r238"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.",
        "label": "Note Payable"
       }
      }
     },
     "localname": "DebtDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/NotePayable"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DebtInstrumentAxis": {
     "auth_ref": [
      "r17",
      "r18",
      "r19",
      "r86",
      "r89",
      "r207",
      "r208",
      "r209",
      "r210",
      "r211",
      "r212",
      "r214",
      "r220",
      "r221",
      "r222",
      "r223",
      "r225",
      "r226",
      "r227",
      "r228",
      "r229",
      "r230",
      "r234",
      "r235",
      "r236",
      "r237",
      "r357",
      "r390",
      "r391",
      "r403"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.",
        "label": "Debt Instrument [Axis]"
       }
      }
     },
     "localname": "DebtInstrumentAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/NotePayableDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentFaceAmount": {
     "auth_ref": [
      "r207",
      "r234",
      "r235",
      "r356",
      "r357",
      "r358"
     ],
     "calculation": {
      "http://virtra.com/role/ScheduleOfNotesPayableDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_NotesPayableCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face (par) amount of debt instrument at time of issuance.",
        "label": "Note payable, principal"
       }
      }
     },
     "localname": "DebtInstrumentFaceAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfNotesPayableDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentInterestRateDuringPeriod": {
     "auth_ref": [
      "r41",
      "r227",
      "r356"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The average effective interest rate during the reporting period.",
        "label": "Debt instrument interest rate"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateDuringPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/NotePayableDetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentMaturityDate": {
     "auth_ref": [
      "r42",
      "r210",
      "r345"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date when the debt instrument is scheduled to be fully repaid, in YYYY-MM-DD format.",
        "label": "Maturity date"
       }
      }
     },
     "localname": "DebtInstrumentMaturityDate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/NotePayableDetailsNarrative"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "auth_ref": [
      "r43",
      "r86",
      "r89",
      "r207",
      "r208",
      "r209",
      "r210",
      "r211",
      "r212",
      "r214",
      "r220",
      "r221",
      "r222",
      "r223",
      "r225",
      "r226",
      "r227",
      "r228",
      "r229",
      "r230",
      "r234",
      "r235",
      "r236",
      "r237",
      "r357"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities."
       }
      }
     },
     "localname": "DebtInstrumentNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/NotePayableDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentPeriodicPayment": {
     "auth_ref": [
      "r43",
      "r401"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the required periodic payments including both interest and principal payments.",
        "label": "Debt instrument periodic payment"
       }
      }
     },
     "localname": "DebtInstrumentPeriodicPayment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/NotePayableDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredBonusAndProfitSharingArrangementIndividualContractTypeOfDeferredCompensationDomain": {
     "auth_ref": [
      "r277",
      "r280"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred compensation that is not equivalent to a defined benefit pension plan or a defined benefit other postretirement benefit plan. Includes, but is not limited to, employment contracts with one or more selected officers or key employees. Excludes equity-based compensation plans, defined benefit pension plans and defined benefit other postretirement benefit plans."
       }
      }
     },
     "localname": "DeferredBonusAndProfitSharingArrangementIndividualContractTypeOfDeferredCompensationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis": {
     "auth_ref": [
      "r277",
      "r280"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of deferred compensation that is not equivalent to a defined benefit pension plan or a defined benefit other postretirement benefit plan. Includes, but is not limited to, employment contracts with one or more selected officers or key employees. Excludes equity-based compensation plans, defined benefit pension plans and defined benefit other postretirement benefit plans.",
        "label": "Deferred Bonus and Profit Sharing Arrangements, Individual Contracts, Type of Deferred Compensation [Axis]"
       }
      }
     },
     "localname": "DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items]"
       }
      }
     },
     "localname": "DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative",
      "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredCompensationCashBasedArrangementsLiabilityCurrent": {
     "auth_ref": [
      "r278",
      "r281"
     ],
     "calculation": {
      "http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_EmployeeRelatedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate carrying value as of the balance sheet date of the liabilities for deferred compensation arrangements payable within one year (or the normal operating cycle, if longer). Represents currently earned compensation under cash arrangements (such as a profit-sharing plan, rabbi trust, and employee contract--excluding equity-based arrangements) that is not actually paid until a later date.",
        "label": "Profit sharing payable"
       }
      }
     },
     "localname": "DeferredCompensationCashBasedArrangementsLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "auth_ref": [
      "r321",
      "r322"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.",
        "label": "Deferred tax asset, net"
       }
      }
     },
     "localname": "DeferredIncomeTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredProfitSharingMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "An arrangement whereby an employee is entitled to receive in the future, subject to vesting and other restrictions, a share in the profits, as defined in the agreement, of the entity or portion thereof. Employer contributions may be discretionary or may be based on a fixed formula related to profits, compensation, or other factors. It is a form of incentive compensation to employees in addition to their regular salary and bonuses.",
        "label": "Deferred Profit Sharing [Member]"
       }
      }
     },
     "localname": "DeferredProfitSharingMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DepositContractsPolicy": {
     "auth_ref": [
      "r425"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for the treatment of funds received from or paid to insureds, insurers and reinsurers on contracts for which the criteria for transferring or assuming insurance risk has not been satisfied by the insurer or reinsurer.",
        "label": "Customer Deposits"
       }
      }
     },
     "localname": "DepositContractsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DepositsAssetsNoncurrent": {
     "auth_ref": [
      "r15"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment after one year or beyond the operating cycle, if longer.",
        "label": "Security deposits, long-term"
       }
      }
     },
     "localname": "DepositsAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r76",
      "r175"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.",
        "label": "Depreciation expense"
       }
      }
     },
     "localname": "Depreciation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/PropertyAndEquipmentDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "auth_ref": [
      "r76",
      "r138"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Depreciation and amortization"
       }
      }
     },
     "localname": "DepreciationDepletionAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeContractTypeDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset."
       }
      }
     },
     "localname": "DerivativeContractTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DerivativeInstrumentRiskAxis": {
     "auth_ref": [
      "r50",
      "r336",
      "r337",
      "r339",
      "r340"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of derivative contract.",
        "label": "Derivative Instrument [Axis]"
       }
      }
     },
     "localname": "DerivativeInstrumentRiskAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "auth_ref": [
      "r271"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Schedule of Earnings Per Share"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net income per common share:"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r58",
      "r96",
      "r97",
      "r98",
      "r99",
      "r100",
      "r105",
      "r107",
      "r111",
      "r112",
      "r113",
      "r116",
      "r117",
      "r343",
      "r344",
      "r397",
      "r410"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.",
        "label": "Basic"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfEarningsPerShareDetails",
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average shares outstanding:"
       }
      }
     },
     "localname": "EarningsPerShareBasicOtherDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r58",
      "r96",
      "r97",
      "r98",
      "r99",
      "r100",
      "r107",
      "r111",
      "r112",
      "r113",
      "r116",
      "r117",
      "r343",
      "r344",
      "r397",
      "r410"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Diluted"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfEarningsPerShareDetails",
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "auth_ref": [
      "r114",
      "r115"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.",
        "label": "Net Income per Common Share"
       }
      }
     },
     "localname": "EarningsPerSharePolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "auth_ref": [
      "r39"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      },
      "http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued compensation and related costs",
        "totalLabel": "Total accrued compensation and related costs"
       }
      }
     },
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets",
      "http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]"
       }
      }
     },
     "localname": "EquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r0",
      "r53",
      "r54",
      "r55",
      "r91",
      "r92",
      "r93",
      "r95",
      "r101",
      "r103",
      "r119",
      "r160",
      "r258",
      "r265",
      "r317",
      "r318",
      "r319",
      "r324",
      "r325",
      "r342",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r364",
      "r420",
      "r421",
      "r422"
     ],
     "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."
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative",
      "http://virtra.com/role/StatementsOfChangesInStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ExtendedProductWarrantyAccrual": {
     "auth_ref": [
      "r194"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount as of the balance sheet date of the aggregate extended product warranty liability. Does not include the ending balance for the standard product warranty liability.",
        "label": "Extended warranties"
       }
      }
     },
     "localname": "ExtendedProductWarrantyAccrual",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "auth_ref": [
      "r14",
      "r171"
     ],
     "calculation": {
      "http://virtra.com/role/ScheduleOfIntangibleAssetDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "negatedLabel": "Less accumulated amortization"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfIntangibleAssetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r167",
      "r168",
      "r171",
      "r173",
      "r386",
      "r387"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by major type or class of finite-lived intangible assets.",
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfIntangibleAssetDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "auth_ref": [
      "r171",
      "r387"
     ],
     "calculation": {
      "http://virtra.com/role/ScheduleOfIntangibleAssetDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Total intangible assets"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfIntangibleAssetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Finite-Lived Intangible Assets [Line Items]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfIntangibleAssetDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r167",
      "r170"
     ],
     "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."
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfIntangibleAssetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r62"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "General and administrative"
       }
      }
     },
     "localname": "GeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeographicDistributionForeignMember": {
     "auth_ref": [
      "r161",
      "r398",
      "r399",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r478"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Allocation of business activity identified as foreign.",
        "label": "Geographic Distribution, Foreign [Member]"
       }
      }
     },
     "localname": "GeographicDistributionForeignMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfEarningsPerShareDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Abstract]"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r60",
      "r87",
      "r140",
      "r142",
      "r145",
      "r148",
      "r150",
      "r159",
      "r196",
      "r197",
      "r198",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r206",
      "r348"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.",
        "label": "Gross Profit",
        "totalLabel": "Gross profit"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r56",
      "r140",
      "r142",
      "r145",
      "r148",
      "r150",
      "r388",
      "r395",
      "r399",
      "r411"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "totalLabel": "Income before provision for income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r179",
      "r182"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location in the income statement.",
        "label": "Income Statement Location [Axis]"
       }
      }
     },
     "localname": "IncomeStatementLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "auth_ref": [
      "r182"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the income statement."
       }
      }
     },
     "localname": "IncomeStatementLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r88",
      "r102",
      "r103",
      "r139",
      "r323",
      "r326",
      "r327",
      "r412"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Provision for income taxes"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "auth_ref": [
      "r79"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.",
        "label": "Income taxes paid (refunded)"
       }
      }
     },
     "localname": "IncomeTaxesPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": {
     "auth_ref": [
      "r75"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfCashFlows": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid.",
        "label": "Accounts payable and other accrued expenses"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r75"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.",
        "label": "Increase (Decrease) in Accounts Receivable",
        "negatedLabel": "Accounts receivable, net"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "auth_ref": [
      "r75",
      "r383"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfCashFlows": {
       "order": 15.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "Deferred revenue"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDeferredIncomeTaxes": {
     "auth_ref": [
      "r75"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa.",
        "label": "Increase (Decrease) in Deferred Income Taxes",
        "negatedLabel": "Deferred taxes"
       }
      }
     },
     "localname": "IncreaseDecreaseInDeferredIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDeferredRevenue": {
     "auth_ref": [
      "r75"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.",
        "label": "Increase (Decrease) in Deferred Revenue",
        "verboseLabel": "Unbilled revenue"
       }
      }
     },
     "localname": "IncreaseDecreaseInDeferredRevenue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDepositOtherAssets": {
     "auth_ref": [
      "r75"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfCashFlows": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in moneys or securities given as security including, but not limited to, contract, escrow, or earnest money deposits, retainage (if applicable), deposits with clearing organizations and others, collateral, or margin deposits.",
        "label": "Increase (Decrease) in Deposit Assets",
        "negatedLabel": "Security deposits, long-term"
       }
      }
     },
     "localname": "IncreaseDecreaseInDepositOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r75"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.",
        "label": "Increase (Decrease) in Inventories",
        "negatedLabel": "Inventory, net"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changes in operating assets and liabilities:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": {
     "auth_ref": [
      "r75",
      "r362"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfCashFlows": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation for operating lease.",
        "label": "Payments on operating lease liability"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "auth_ref": [
      "r75"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfCashFlows": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating assets classified as other.",
        "label": "Increase (Decrease) in Other Operating Assets",
        "negatedLabel": "Other assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "auth_ref": [
      "r75"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "negatedLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IntangibleAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r174"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all or part of the information related to intangible assets.",
        "label": "Intangible Asset"
       }
      }
     },
     "localname": "IntangibleAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/IntangibleAsset"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "auth_ref": [
      "r165",
      "r169"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0
      },
      "http://virtra.com/role/ScheduleOfIntangibleAssetDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Intangible assets, net",
        "totalLabel": "Intangible assets, net"
       }
      }
     },
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets",
      "http://virtra.com/role/ScheduleOfIntangibleAssetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPaidNet": {
     "auth_ref": [
      "r69",
      "r72",
      "r79"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Interest paid"
       }
      }
     },
     "localname": "InterestPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPayableCurrent": {
     "auth_ref": [
      "r39"
     ],
     "calculation": {
      "http://virtra.com/role/ScheduleOfNotesPayableDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_NotesPayableCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of [accrued] interest payable on all forms of debt, including trade payables, that has been incurred and is unpaid. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued interest on note"
       }
      }
     },
     "localname": "InterestPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfNotesPayableDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Disclosure [Abstract]"
       }
      }
     },
     "localname": "InventoryDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "auth_ref": [
      "r163"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Inventory"
       }
      }
     },
     "localname": "InventoryDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/Inventory"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r3",
      "r32",
      "r373"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://virtra.com/role/ScheduleOfInventoryDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventory, net",
        "totalLabel": "Total inventory"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets",
      "http://virtra.com/role/ScheduleOfInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryValuationReserves": {
     "auth_ref": [
      "r32",
      "r162"
     ],
     "calculation": {
      "http://virtra.com/role/ScheduleOfInventoryDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of valuation reserve for inventory.",
        "label": "Inventory Valuation Reserves",
        "negatedLabel": "Reserve"
       }
      }
     },
     "localname": "InventoryValuationReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWorkInProcessAndRawMaterials": {
     "auth_ref": [
      "r32"
     ],
     "calculation": {
      "http://virtra.com/role/ScheduleOfInventoryDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate carrying amount as of the balance sheet date of items held by the entity which are partially completed at the time of measurement and unprocessed items that will go through the production process and become part of the final product. Includes supplies used directly or indirectly in the manufacturing or production process. This element may be used when the reporting entity combines work in process and raw materials into an aggregate amount.",
        "label": "Raw materials and work in process"
       }
      }
     },
     "localname": "InventoryWorkInProcessAndRawMaterials",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IssuanceOfStockAndWarrantsForServicesOrClaims": {
     "auth_ref": [
      "r76"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of share-based compensation granted to nonemployees as payment for services rendered or acknowledged claims.",
        "label": "Stock issued for service"
       }
      }
     },
     "localname": "IssuanceOfStockAndWarrantsForServicesOrClaims",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows",
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LandMember": {
     "auth_ref": [
      "r274"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Part of earth's surface not covered by water.",
        "label": "Land [Member]"
       }
      }
     },
     "localname": "LandMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "auth_ref": [
      "r176"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additions or improvements to assets held under a lease arrangement.",
        "label": "Leasehold Improvements [Member]"
       }
      }
     },
     "localname": "LeaseholdImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeasesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases [Abstract]"
       }
      }
     },
     "localname": "LeasesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LeasesOfLesseeDisclosureTextBlock": {
     "auth_ref": [
      "r359"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for lessee entity's leasing arrangements including, but not limited to, all of the following: (a.) The basis on which contingent rental payments are determined, (b.) The existence and terms of renewal or purchase options and escalation clauses, (c.) Restrictions imposed by lease agreements, such as those concerning dividends, additional debt, and further leasing.",
        "label": "Leases"
       }
      }
     },
     "localname": "LeasesOfLesseeDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/Leases"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [
      "r363"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.",
        "label": "Schedule of Future Minimum Lease Payments"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r363"
     ],
     "calculation": {
      "http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.",
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "totalLabel": "Total lease payments"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r363"
     ],
     "calculation": {
      "http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "2023"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r363"
     ],
     "calculation": {
      "http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "2024"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": {
     "auth_ref": [
      "r363"
     ],
     "calculation": {
      "http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.",
        "label": "2022"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r363"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "negatedLabel": "Less: imputed interest"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r38",
      "r87",
      "r144",
      "r159",
      "r196",
      "r197",
      "r198",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r206",
      "r331",
      "r332",
      "r333",
      "r348",
      "r371",
      "r372"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.",
        "label": "Liabilities",
        "totalLabel": "Total liabilities"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r28",
      "r87",
      "r159",
      "r348",
      "r373",
      "r392",
      "r406"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "Liabilities and Equity",
        "totalLabel": "Total liabilities and stockholders\u2019 equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "LIABILITIES AND STOCKHOLDERS\u2019 EQUITY"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r5",
      "r40",
      "r87",
      "r159",
      "r196",
      "r197",
      "r198",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r206",
      "r331",
      "r332",
      "r333",
      "r348",
      "r371",
      "r372",
      "r373"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.",
        "label": "Liabilities, Current",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current liabilities:"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesNoncurrent": {
     "auth_ref": [
      "r8",
      "r9",
      "r10",
      "r19",
      "r20",
      "r87",
      "r159",
      "r196",
      "r197",
      "r198",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r206",
      "r331",
      "r332",
      "r333",
      "r348",
      "r371",
      "r372"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation due after one year or beyond the normal operating cycle, if longer.",
        "label": "Liabilities, Noncurrent",
        "totalLabel": "Total long-term liabilities"
       }
      }
     },
     "localname": "LiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesNoncurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term liabilities:"
       }
      }
     },
     "localname": "LiabilitiesNoncurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongTermNotesPayable": {
     "auth_ref": [
      "r43"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of notes payable (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion.",
        "label": "Note payable, long-term",
        "verboseLabel": "Note payable, long term"
       }
      }
     },
     "localname": "LongTermNotesPayable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets",
      "http://virtra.com/role/ScheduleOfNotesPayableDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "auth_ref": [
      "r43"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-term debt.",
        "label": "Long-Term Debt, Type [Axis]"
       }
      }
     },
     "localname": "LongtermDebtTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfNotesPayableDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "auth_ref": [
      "r43",
      "r195"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer."
       }
      }
     },
     "localname": "LongtermDebtTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfNotesPayableDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MachineryAndEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.",
        "label": "Machinery and Equipment [Member]"
       }
      }
     },
     "localname": "MachineryAndEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "totalLabel": "Net cash provided by (used in) financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from financing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "totalLabel": "Net cash used in investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from investing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r70",
      "r74",
      "r77"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "totalLabel": "Net cash provided by (used in) operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from operating activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r1",
      "r51",
      "r52",
      "r55",
      "r57",
      "r77",
      "r87",
      "r94",
      "r96",
      "r97",
      "r98",
      "r99",
      "r102",
      "r103",
      "r110",
      "r140",
      "r142",
      "r145",
      "r148",
      "r150",
      "r159",
      "r196",
      "r197",
      "r198",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r206",
      "r344",
      "r348",
      "r396",
      "r409"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://virtra.com/role/StatementsOfOperations": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net income (loss)",
        "terseLabel": "Net Income",
        "totalLabel": "Net income",
        "verboseLabel": "Net income"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative",
      "http://virtra.com/role/ScheduleOfEarningsPerShareDetails",
      "http://virtra.com/role/StatementsOfCashFlows",
      "http://virtra.com/role/StatementsOfChangesInStockholdersEquity",
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "auth_ref": [
      "r64"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).",
        "label": "Nonoperating Income (Expense)",
        "totalLabel": "Net other income (expense)"
       }
      }
     },
     "localname": "NonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NotesPayableCurrent": {
     "auth_ref": [
      "r37"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      },
      "http://virtra.com/role/ScheduleOfNotesPayableDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying values as of the balance sheet date of the portions of long-term notes payable due within one year or the operating cycle if longer.",
        "label": "Note payable, current",
        "totalLabel": "Note payable, short-term"
       }
      }
     },
     "localname": "NotesPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets",
      "http://virtra.com/role/ScheduleOfNotesPayableDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OffsettingAssetsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Offsetting Assets [Line Items]"
       }
      }
     },
     "localname": "OffsettingAssetsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OffsettingAssetsTable": {
     "auth_ref": [
      "r48",
      "r49"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about derivative and financial assets that are subject to offsetting, including enforceable master netting arrangements.",
        "label": "Offsetting Assets [Table]"
       }
      }
     },
     "localname": "OffsettingAssetsTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://virtra.com/role/StatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Operating expenses",
        "totalLabel": "Net operating expense"
       }
      }
     },
     "localname": "OperatingExpenses",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative",
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating expenses:"
       }
      }
     },
     "localname": "OperatingExpensesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r140",
      "r142",
      "r145",
      "r148",
      "r150"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "Operating Income (Loss)",
        "totalLabel": "Income from operations"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r361"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "Operating lease liability",
        "periodEndLabel": "Total lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesDetails",
      "http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r361"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.",
        "label": "Operating lease liability, short-term",
        "periodEndLabel": "Operating lease liability, short-term"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets",
      "http://virtra.com/role/ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r361"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "Operating lease liability, long-term",
        "periodEndLabel": "Operating lease liability, long-term"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets",
      "http://virtra.com/role/ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r360"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Operating lease right-of-use asset, net",
        "periodEndLabel": "Total operating lease right-of-use asset, ending",
        "periodStartLabel": "Operating lease right-of-use assets, beginning"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets",
      "http://virtra.com/role/ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": {
     "auth_ref": [
      "r76"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense for right-of-use asset from operating lease.",
        "label": "Right of use amortization",
        "negatedLabel": "Amortization"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesDetails",
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r90",
      "r104",
      "r135",
      "r334"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the general note to the financial statements for the reporting entity which may include, descriptions of the basis of presentation, business description, significant accounting policies, consolidations, reclassifications, new pronouncements not yet adopted and changes in accounting principles.",
        "label": "Organization and Significant Accounting Policies"
       }
      }
     },
     "localname": "OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "auth_ref": [
      "r15"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncurrent assets classified as other.",
        "label": "Other assets, long-term"
       }
      }
     },
     "localname": "OtherAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets",
      "http://virtra.com/role/InventoryDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherBorrowings": {
     "auth_ref": [
      "r393"
     ],
     "calculation": {
      "http://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying amount as of the balance sheet date for the aggregate of other miscellaneous borrowings owed by the reporting entity.",
        "label": "Miscellaneous payable"
       }
      }
     },
     "localname": "OtherBorrowings",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherExpenses": {
     "auth_ref": [
      "r63",
      "r413"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense classified as other.",
        "label": "other expenses"
       }
      }
     },
     "localname": "OtherExpenses",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "auth_ref": [
      "r44"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.",
        "label": "Other long-term liabilities"
       }
      }
     },
     "localname": "OtherLiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingExpense": {
     "auth_ref": [
      "r65"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense related to nonoperating activities, classified as other.",
        "label": "Other Nonoperating Expense",
        "negatedLabel": "Other expense"
       }
      }
     },
     "localname": "OtherNonoperatingExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncome": {
     "auth_ref": [
      "r59"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income related to nonoperating activities, classified as other.",
        "label": "Other income"
       }
      }
     },
     "localname": "OtherNonoperatingIncome",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other income (expense):"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PatentsMember": {
     "auth_ref": [
      "r328"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Exclusive legal right granted by the government to the owner of the patent to exploit an invention or a process for a period of time specified by law.",
        "label": "Patents [Member]"
       }
      }
     },
     "localname": "PatentsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfIntangibleAssetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PayablesAndAccrualsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payables and Accruals [Abstract]"
       }
      }
     },
     "localname": "PayablesAndAccrualsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PaymentsForRent": {
     "auth_ref": [
      "r73"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash payments to lessor's for use of assets under operating leases.",
        "label": "Rent expenses"
       }
      }
     },
     "localname": "PaymentsForRent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/LeasesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireIntangibleAssets": {
     "auth_ref": [
      "r66"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill.",
        "label": "Payments to Acquire Intangible Assets",
        "negatedLabel": "Purchase of intangible assets"
       }
      }
     },
     "localname": "PaymentsToAcquireIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r66"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.",
        "label": "Payment to acquire assets",
        "negatedLabel": "Purchase of property and equipment"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/NotePayableDetailsNarrative",
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PlanNameAxis": {
     "auth_ref": [
      "r285",
      "r286",
      "r287",
      "r289",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r304",
      "r305",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by plan name for share-based payment arrangement.",
        "label": "Plan Name [Axis]"
       }
      }
     },
     "localname": "PlanNameAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PlanNameDomain": {
     "auth_ref": [
      "r285",
      "r286",
      "r287",
      "r289",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r304",
      "r305",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "localname": "PlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Preferred shares may provide a preferential dividend to the dividend on common stock and may take precedence over common stock in the event of a liquidation. Preferred shares typically represent an ownership interest in the company.",
        "label": "Preferred Stock [Member]"
       }
      }
     },
     "localname": "PreferredStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfChangesInStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r22",
      "r242"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.",
        "label": "Preferred stock, par value"
       }
      }
     },
     "localname": "PreferredStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "auth_ref": [
      "r22"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.",
        "label": "Preferred stock, shares authorized"
       }
      }
     },
     "localname": "PreferredStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesIssued": {
     "auth_ref": [
      "r22",
      "r242"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.",
        "label": "Preferred stock, shares issued"
       }
      }
     },
     "localname": "PreferredStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "auth_ref": [
      "r22"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.",
        "label": "Preferred stock, shares outstanding"
       }
      }
     },
     "localname": "PreferredStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockValue": {
     "auth_ref": [
      "r22",
      "r373"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Preferred stock $0.0001 par value; 2,500,000 authorized; no shares issued or outstanding"
       }
      }
     },
     "localname": "PreferredStockValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r33"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for 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.",
        "label": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceInitialPublicOffering": {
     "auth_ref": [
      "r67"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow associated with the amount received from entity's first offering of stock to the public.",
        "label": "Proceeds from offering",
        "verboseLabel": "Stock issued for cash in offering, net"
       }
      }
     },
     "localname": "ProceedsFromIssuanceInitialPublicOffering",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows",
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromLoans": {
     "auth_ref": [
      "r71"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash received from principal payments made on loans related to operating activities.",
        "label": "Proceeds from bank loan"
       }
      }
     },
     "localname": "ProceedsFromLoans",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/NotePayableDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "auth_ref": [
      "r67",
      "r316"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.",
        "label": "Proceeds from stock options exrercised",
        "verboseLabel": "Stock options exercised"
       }
      }
     },
     "localname": "ProceedsFromStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows",
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Product Information [Line Items]"
       }
      }
     },
     "localname": "ProductInformationLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ProductWarrantyAccrualClassifiedCurrent": {
     "auth_ref": [
      "r39",
      "r191",
      "r192"
     ],
     "calculation": {
      "http://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Manufacturer\u2019s warranties"
       }
      }
     },
     "localname": "ProductWarrantyAccrualClassifiedCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "auth_ref": [
      "r178"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.",
        "label": "Long-Lived Tangible Asset [Axis]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/NotePayableDetailsNarrative",
      "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "auth_ref": [
      "r180",
      "r430",
      "r431",
      "r432"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Property and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/PropertyAndEquipment"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "auth_ref": [
      "r12",
      "r176"
     ],
     "calculation": {
      "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Total property and equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Property, Plant and Equipment [Line Items]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r178",
      "r373",
      "r400",
      "r407"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0
      },
      "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property and equipment, net",
        "totalLabel": "Property and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets",
      "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "auth_ref": [
      "r178"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Schedule of Property and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/PropertyAndEquipmentTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "auth_ref": [
      "r176"
     ],
     "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."
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/NotePayableDetailsNarrative",
      "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RelatedPartyTransactionsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transactions [Abstract]"
       }
      }
     },
     "localname": "RelatedPartyTransactionsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": {
     "auth_ref": [
      "r365",
      "r366",
      "r367",
      "r369",
      "r370"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.",
        "label": "Related Party Transactions"
       }
      }
     },
     "localname": "RelatedPartyTransactionsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/RelatedPartyTransactions"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "auth_ref": [
      "r68"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.",
        "label": "Repayments of Long-Term Debt",
        "negatedLabel": "Principal payments of debt"
       }
      }
     },
     "localname": "RepaymentsOfLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "auth_ref": [
      "r320",
      "r384",
      "r444"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.",
        "label": "Research and development"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedStockMember": {
     "auth_ref": [
      "r114"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met.",
        "label": "Restricted Stock [Member]"
       }
      }
     },
     "localname": "RestrictedStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.",
        "label": "Restricted Stock Units (RSUs) [Member]"
       }
      }
     },
     "localname": "RestrictedStockUnitsRSUMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative",
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r25",
      "r265",
      "r373",
      "r405",
      "r423",
      "r424"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained earnings"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r0",
      "r91",
      "r92",
      "r93",
      "r95",
      "r101",
      "r103",
      "r160",
      "r317",
      "r318",
      "r319",
      "r324",
      "r325",
      "r342",
      "r420",
      "r422"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings [Member]"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfChangesInStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "auth_ref": [
      "r136",
      "r137",
      "r141",
      "r146",
      "r147",
      "r151",
      "r152",
      "r154",
      "r270",
      "r271",
      "r385"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.",
        "label": "Total revenue",
        "terseLabel": "Revenue",
        "verboseLabel": "Simulators and accessories"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative",
      "http://virtra.com/role/ScheduleOfEarningsPerShareDetails",
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerMember": {
     "auth_ref": [
      "r130",
      "r154"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from satisfaction of performance obligation by transferring promised product and service to customer, when it serves as benchmark in concentration of risk calculation.",
        "label": "Revenue from Contract with Customer Benchmark [Member]"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerProductAndServiceBenchmarkMember": {
     "auth_ref": [
      "r129"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from satisfaction of performance obligation by transferring promised product and service to customer for specified product or service, when it serves as benchmark in concentration of risk calculation.",
        "label": "Revenue from Contract with Customer, Product and Service Benchmark [Member]"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerProductAndServiceBenchmarkMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueRecognitionPolicyTextBlock": {
     "auth_ref": [
      "r81",
      "r82"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.",
        "label": "Revenue Recognition"
       }
      }
     },
     "localname": "RevenueRecognitionPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenuesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenues:"
       }
      }
     },
     "localname": "RevenuesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SaleOfStockNameOfTransactionDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement."
       }
      }
     },
     "localname": "SaleOfStockNameOfTransactionDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares issued or sold by the subsidiary or equity method investee per stock transaction.",
        "label": "Number of shares sold"
       }
      }
     },
     "localname": "SaleOfStockNumberOfSharesIssuedInTransaction",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of subsidiary's or equity investee's stock owned by parent company after stock transaction.",
        "label": "Sale of stock, percentage"
       }
      }
     },
     "localname": "SaleOfStockPercentageOfOwnershipAfterTransaction",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_SaleOfStockPricePerShare": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction.",
        "label": "Sale of stock, price per share"
       }
      }
     },
     "localname": "SaleOfStockPricePerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of accrued liabilities.",
        "label": "Schedule of Accrued Compensation and Related Costs"
       }
      }
     },
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/AccruedExpensesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDebtTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.",
        "label": "Schedule of Notes Payable"
       }
      }
     },
     "localname": "ScheduleOfDebtTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/NotePayableTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable": {
     "auth_ref": [
      "r277",
      "r280"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule, table or text reflecting arrangements that are not equity-based payments, or pension and other postretirement benefits, with individual employees. The arrangements (for example, profit sharing, deferred bonuses or certain split-dollar life insurance arrangements) are generally based on employment contracts between the entity and one or more selected officers or key employees, and which contain a promise by the employer to pay certain amounts at designated future dates, sometimes including a period after retirement, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Disclosure also typically includes the amount of related compensation expense recognized during the reporting period and the carrying amount as of the balance sheet date of the related liability.",
        "label": "Schedule of Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits, by Title of Individual and by Type of Deferred Compensation [Table]"
       }
      }
     },
     "localname": "ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative",
      "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "auth_ref": [
      "r113"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "verboseLabel": "Schedule of Earnings Per Share"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "auth_ref": [
      "r167",
      "r170",
      "r386"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Schedule of Finite-Lived Intangible Assets [Table]"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfIntangibleAssetDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock": {
     "auth_ref": [
      "r164"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of goodwill and intangible assets, which may be broken down by segment or major class.",
        "label": "Schedule of Intangible Asset"
       }
      }
     },
     "localname": "ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/IntangibleAssetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r7",
      "r29",
      "r30",
      "r31"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.",
        "label": "Schedule of Inventory"
       }
      }
     },
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/InventoryTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfProductInformationTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule detailing quantitative information concerning products or product lines by product or product line.",
        "label": "Schedule of Product Information [Table]"
       }
      }
     },
     "localname": "ScheduleOfProductInformationTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "auth_ref": [
      "r178"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Property, Plant and Equipment [Table]"
       }
      }
     },
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "auth_ref": [
      "r288",
      "r303",
      "r306"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Schedule of Non-qualified Stock Options"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShortTermDebtTable": {
     "auth_ref": [
      "r36"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table or schedule providing information pertaining to borrowings under which repayment was required in less than twelve months (or normal operating cycle, if longer) after its issuance. It may include: (1) description of the short-term debt arrangement; (2) identification of the lender or type of lender; (3) repayment terms; (4) weighted average interest rate; (5) carrying amount of funds borrowed under the specified short-term debt arrangement as of the balance sheet date and measures of the maximum and average amount outstanding during the period; (6) description of the refinancing of a short-term obligation when that obligation is excluded from current liabilities in the balance sheet; and (7) amount of a short-term obligation that has been excluded from current liabilities in the balance sheet because of a refinancing of the obligation.",
        "label": "Schedule of Short-Term Debt [Table]"
       }
      }
     },
     "localname": "ScheduleOfShortTermDebtTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/NotePayableDetailsNarrative",
      "http://virtra.com/role/ScheduleOfNotesPayableDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfStockByClassTable": {
     "auth_ref": [
      "r21",
      "r22",
      "r23",
      "r84",
      "r120",
      "r121",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r247",
      "r251",
      "r256",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule detailing information related to equity by class of stock. Class of stock includes common, convertible, and preferred stocks which are not redeemable or redeemable solely at the option of the issuer. It also includes preferred stock with redemption features that are solely within the control of the issuer and mandatorily redeemable stock if redemption is required to occur only upon liquidation or termination of the reporting entity.",
        "label": "Schedule of Stock by Class [Table]"
       }
      }
     },
     "localname": "ScheduleOfStockByClassTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r75"
     ],
     "calculation": {
      "http://virtra.com/role/StatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "Employee stock compensation",
        "verboseLabel": "Share-Based Payment Arrangement, Noncash Expense"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative",
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights": {
     "auth_ref": [
      "r285"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of service or performance condition required to be met for earning right to award under share-based payment arrangement. Includes, but is not limited to, combination of market, performance or service condition.",
        "label": "Restricted stock units vesting, description"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "auth_ref": [
      "r300"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Number of shares granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "auth_ref": [
      "r287"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement.",
        "label": "Number of shares authorized",
        "verboseLabel": "Stock issued during period shares based compensation authorized, shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative",
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "auth_ref": [
      "r291"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number",
        "periodEndLabel": "Number of stock options options exercisable end of period"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "auth_ref": [
      "r291"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price",
        "periodEndLabel": "Weighted exercise price, options exercisable, end of period"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "auth_ref": [
      "r305"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.",
        "label": "Intriinsic value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod": {
     "auth_ref": [
      "r296"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements.",
        "label": "Number of stock options, expired / terminated"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "auth_ref": [
      "r293"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross number of share options (or share units) granted during the period.",
        "label": "Number of stock options, granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "auth_ref": [
      "r289",
      "r290"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options outstanding, including both vested and non-vested options.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number",
        "periodEndLabel": "Number of stock options options outstanding end of period",
        "periodStartLabel": "Number of stock options, options outstanding, beginning of year"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r289",
      "r290"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "periodEndLabel": "Weighted exercise price, option outstanding end of period",
        "periodStartLabel": "Weighted exercise price option outstanding, beginning of year"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r285",
      "r286",
      "r287",
      "r289",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r304",
      "r305",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative",
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [
      "r294"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.",
        "label": "Weighted exercise price exercised"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [
      "r296"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options of the plan that expired.",
        "label": "Weighted exercise price expired / terminated"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [
      "r293"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.",
        "label": "Weighted exercise price, granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": {
     "auth_ref": [
      "r315"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Options exercisable weighted average contractual term"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "auth_ref": [
      "r307"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Options outstanding weighted average contractual term"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharesIssuedPricePerShare": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share or per unit amount of equity securities issued.",
        "label": "Shares issued price per shares"
       }
      }
     },
     "localname": "SharesIssuedPricePerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.",
        "label": "Shares, Outstanding",
        "periodEndLabel": "Ending balance, shares",
        "periodStartLabel": "Beginning balance, shares"
       }
      }
     },
     "localname": "SharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfChangesInStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShortTermDebtLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Short-Term Debt [Line Items]"
       }
      }
     },
     "localname": "ShortTermDebtLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/NotePayableDetailsNarrative",
      "http://virtra.com/role/ScheduleOfNotesPayableDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShortTermDebtTypeAxis": {
     "auth_ref": [
      "r36"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of short-term debt arrangement.",
        "label": "Short-Term Debt, Type [Axis]"
       }
      }
     },
     "localname": "ShortTermDebtTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfNotesPayableDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShortTermDebtTypeDomain": {
     "auth_ref": [
      "r34"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of short-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing."
       }
      }
     },
     "localname": "ShortTermDebtTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfNotesPayableDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_StandardProductWarrantyPolicy": {
     "auth_ref": [
      "r193"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for standard warranties including the methodology for measuring the liability.",
        "label": "Warranty"
       }
      }
     },
     "localname": "StandardProductWarrantyPolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_StatementClassOfStockAxis": {
     "auth_ref": [
      "r21",
      "r22",
      "r23",
      "r84",
      "r87",
      "r107",
      "r108",
      "r109",
      "r111",
      "r113",
      "r120",
      "r121",
      "r122",
      "r159",
      "r196",
      "r200",
      "r201",
      "r202",
      "r205",
      "r206",
      "r242",
      "r243",
      "r247",
      "r251",
      "r258",
      "r348",
      "r461"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by the different classes of stock of the entity.",
        "label": "Class of Stock [Axis]"
       }
      }
     },
     "localname": "StatementClassOfStockAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets",
      "http://virtra.com/role/BalanceSheetsParenthetical",
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r0",
      "r47",
      "r53",
      "r54",
      "r55",
      "r91",
      "r92",
      "r93",
      "r95",
      "r101",
      "r103",
      "r119",
      "r160",
      "r258",
      "r265",
      "r317",
      "r318",
      "r319",
      "r324",
      "r325",
      "r342",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r364",
      "r420",
      "r421",
      "r422"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative",
      "http://virtra.com/role/StatementsOfChangesInStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets",
      "http://virtra.com/role/BalanceSheetsParenthetical",
      "http://virtra.com/role/InventoryDetailsNarrative",
      "http://virtra.com/role/ScheduleOfEarningsPerShareDetails",
      "http://virtra.com/role/StatementsOfChangesInStockholdersEquity",
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r91",
      "r92",
      "r93",
      "r119",
      "r385"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets",
      "http://virtra.com/role/BalanceSheetsParenthetical",
      "http://virtra.com/role/InventoryDetailsNarrative",
      "http://virtra.com/role/ScheduleOfEarningsPerShareDetails",
      "http://virtra.com/role/StatementsOfChangesInStockholdersEquity",
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesIssuedForServices": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued in lieu of cash for services contributed to the entity. Number of shares includes, but is not limited to, shares issued for services contributed by vendors and founders.",
        "label": "Stock issued for services, shares"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesIssuedForServices",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfChangesInStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "auth_ref": [
      "r22",
      "r23",
      "r258",
      "r265"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of new stock issued during the period.",
        "label": "Stock issued for cash in offering, net, shares",
        "verboseLabel": "Stock issued during the period, new issues"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative",
      "http://virtra.com/role/StatementsOfChangesInStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "auth_ref": [
      "r22",
      "r23",
      "r258",
      "r265",
      "r294"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of share options (or share units) exercised during the current period.",
        "label": "Stock options exercised, shares",
        "negatedLabel": "Number of stock options, exercised"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails",
      "http://virtra.com/role/StatementsOfChangesInStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueIssuedForServices": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock issued in lieu of cash for services contributed to the entity. Value of the stock issued includes, but is not limited to, services contributed by vendors and founders.",
        "label": "Stock issued for services"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueIssuedForServices",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfChangesInStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueNewIssues": {
     "auth_ref": [
      "r22",
      "r23",
      "r258",
      "r265"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.",
        "label": "Stock issued for cash in offering, net"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfChangesInStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "auth_ref": [
      "r47",
      "r258",
      "r265"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock issued as a result of the exercise of stock options.",
        "label": "Stock options exercised",
        "verboseLabel": "Stock option exercised, value"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative",
      "http://virtra.com/role/StatementsOfChangesInStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRedeemedOrCalledDuringPeriodShares": {
     "auth_ref": [
      "r258"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of stock bought back by the entity at the exercise price or redemption price.",
        "label": "Stock reedemed or called during period shares"
       }
      }
     },
     "localname": "StockRedeemedOrCalledDuringPeriodShares",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockRepurchasedDuringPeriodValue": {
     "auth_ref": [
      "r22",
      "r23",
      "r258",
      "r265"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.",
        "label": "Stock repurchased during period, value"
       }
      }
     },
     "localname": "StockRepurchasedDuringPeriodValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r23",
      "r26",
      "r27",
      "r87",
      "r158",
      "r159",
      "r348",
      "r373"
     ],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Stockholders' Equity Attributable to Parent",
        "periodEndLabel": "Ending balance, value",
        "periodStartLabel": "Beginning balance, value",
        "totalLabel": "Total stockholders\u2019 equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets",
      "http://virtra.com/role/StatementsOfChangesInStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders\u2019 equity:"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "auth_ref": [
      "r85",
      "r243",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r257",
      "r265",
      "r267",
      "r341"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.",
        "label": "Stockholders\u2019 Equity"
       }
      }
     },
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StockholdersEquity"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SubsequentEventsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Events [Abstract]"
       }
      }
     },
     "localname": "SubsequentEventsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "auth_ref": [
      "r374",
      "r375"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.",
        "label": "Subsequent Events"
       }
      }
     },
     "localname": "SubsequentEventsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/SubsequentEvents"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SubsidiarySaleOfStockAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of sale of the entity's stock.",
        "label": "Sale of Stock [Axis]"
       }
      }
     },
     "localname": "SubsidiarySaleOfStockAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SupplementalCashFlowElementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental disclosure of cash flow information:"
       }
      }
     },
     "localname": "SupplementalCashFlowElementsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TaxesPayableCurrent": {
     "auth_ref": [
      "r37"
     ],
     "calculation": {
      "http://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Taxes payable"
       }
      }
     },
     "localname": "TaxesPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TreasuryStockMember": {
     "auth_ref": [
      "r46",
      "r266"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Shares of an entity that have been repurchased by the entity. This stock has no voting rights and receives no dividends. Note that treasury stock may be recorded at its total cost or separately as par (or stated) value and additional paid in capital. Classified within stockholders' equity if nonredeemable or redeemable solely at the option of the issuer. Classified within temporary equity if redemption is outside the control of the issuer.",
        "label": "Treasury Stock [Member]"
       }
      }
     },
     "localname": "TreasuryStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StatementsOfChangesInStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TypeOfArrangementAxis": {
     "auth_ref": [
      "r329"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations.",
        "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Axis]"
       }
      }
     },
     "localname": "TypeOfArrangementAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_UnbilledReceivablesCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://virtra.com/role/BalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.",
        "label": "Unbilled revenue"
       }
      }
     },
     "localname": "UnbilledReceivablesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UseOfEstimates": {
     "auth_ref": [
      "r123",
      "r124",
      "r126",
      "r127",
      "r132",
      "r133",
      "r134"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.",
        "label": "Use of Estimates"
       }
      }
     },
     "localname": "UseOfEstimates",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r106",
      "r113"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Weighted average common stock outstanding diluted",
        "verboseLabel": "Diluted"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfEarningsPerShareDetails",
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r105",
      "r113"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.",
        "label": "Weighted average common stock outstanding",
        "verboseLabel": "Basic"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://virtra.com/role/ScheduleOfEarningsPerShareDetails",
      "http://virtra.com/role/StatementsOfOperations"
     ],
     "xbrltype": "sharesItemType"
    }
   },
   "unitCount": 4
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 201.5-02(26))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "250",
   "URI": "https://asc.fasb.org/topic&trid=2122394"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1448-109256"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1505-109256"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1252-109256"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1278-109256"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "55",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e2626-109256"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1337-109256"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e3842-109258"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e4984-109258"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "270",
   "URI": "https://asc.fasb.org/extlink&oid=126900757&loc=d3e777-108305"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70229-108054"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=6373374&loc=d3e70434-108055"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=6373374&loc=d3e70478-108055"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "https://asc.fasb.org/topic&trid=2134479"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(16))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(17))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9054-108599"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4647-111522"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(18))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(e)(2)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124267575&loc=SL82921835-210448"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 5.BB)",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "https://asc.fasb.org/topic&trid=2126998"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16212-109274"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "((a)(1),(b))",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/subtopic&trid=2144471"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "360",
   "URI": "https://asc.fasb.org/topic&trid=2155823"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "410",
   "URI": "https://asc.fasb.org/extlink&oid=6393242&loc=d3e13237-110859"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "https://asc.fasb.org/topic&trid=2144648"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "https://asc.fasb.org/topic&trid=2127136"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907644&loc=d3e11281-110244"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12524-110249"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1),(c)(5)",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123465755&loc=SL6230698-112601"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(23))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(27)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(i)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495743-112612"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495745-112612"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "https://asc.fasb.org/topic&trid=2208564"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(CFRR 211.02)",
   "Topic": "480",
   "URI": "https://asc.fasb.org/extlink&oid=122040564&loc=d3e177068-122764"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=65888546&loc=d3e21300-112643"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21553-112644"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496180-112644"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21475-112644"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21484-112644"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21488-112644"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21506-112644"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21521-112644"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21538-112644"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "505",
   "URI": "https://asc.fasb.org/topic&trid=2208762"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130531-203044"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130532-203044"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130543-203045"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "710",
   "URI": "https://asc.fasb.org/extlink&oid=6409733&loc=d3e19524-108361"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "710",
   "URI": "https://asc.fasb.org/extlink&oid=123585891&loc=d3e19793-108362"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "710",
   "URI": "https://asc.fasb.org/extlink&oid=6409733&loc=d3e19396-108361"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "10",
   "Topic": "710",
   "URI": "https://asc.fasb.org/extlink&oid=6409875&loc=d3e20015-108363"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "10",
   "Topic": "710",
   "URI": "https://asc.fasb.org/extlink&oid=6409875&loc=d3e20028-108363"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(v)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=SL79508275-113901"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "730",
   "URI": "https://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "38",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5504-128473"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "808",
   "URI": "https://asc.fasb.org/extlink&oid=6931272&loc=SL5834143-161434"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(9))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "810",
   "URI": "https://asc.fasb.org/topic&trid=2197479"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624171-113959"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126731327&loc=SL126733271-114008"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(4)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(2)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a),20,24)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28551-108399"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124429444&loc=SL124452920-239629"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "840",
   "URI": "https://asc.fasb.org/topic&trid=2208923"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(1)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39599-107864"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39691-107864"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "850",
   "URI": "https://asc.fasb.org/topic&trid=2122745"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "855",
   "URI": "https://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "855",
   "URI": "https://asc.fasb.org/topic&trid=2122774"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "https://asc.fasb.org/extlink&oid=126937589&loc=SL119991595-234733"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "912",
   "URI": "https://asc.fasb.org/extlink&oid=126938201&loc=d3e55415-109406"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "730",
   "Topic": "912",
   "URI": "https://asc.fasb.org/extlink&oid=6472174&loc=d3e58812-109433"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "https://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "340",
   "Topic": "928",
   "URI": "https://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "https://asc.fasb.org/extlink&oid=126941158&loc=d3e41242-110953"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(13))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(16))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.13,16)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.17)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(1))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Subparagraph": "(c)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=123599511&loc=d3e64711-112823"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126941378&loc=d3e61044-112788"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(16))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.(a),19)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04.7)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117819544-158441"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(2))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=6487483&loc=d3e32239-158577"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "https://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=126942805&loc=d3e3115-115594"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "440",
   "Subparagraph": "(a)",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Subparagraph": "(d)",
   "Topic": "958",
   "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99779-112916"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99893-112916"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=SL120174063-112916"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.24)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(c)",
   "Topic": "976",
   "URI": "https://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "978",
   "URI": "https://asc.fasb.org/extlink&oid=126945304&loc=d3e27327-108691"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "https://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756"
  },
  "r445": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12"
  },
  "r446": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r447": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r448": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r449": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.25)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r450": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "g"
  },
  "r451": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12, 13, 15d"
  },
  "r452": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r453": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r454": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "15",
   "Subsection": "d"
  },
  "r455": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "14a",
   "Subsection": "12"
  },
  "r456": {
   "Name": "Form 10-K",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "310"
  },
  "r457": {
   "Name": "Form 10-Q",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "308",
   "Subsection": "a"
  },
  "r458": {
   "Name": "Form 20-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "220",
   "Subsection": "f"
  },
  "r459": {
   "Name": "Form 40-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "240",
   "Subsection": "f"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29,30)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r460": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r461": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "1402"
  },
  "r462": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(b)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(1)"
  },
  "r463": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(b)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(2)"
  },
  "r464": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(b)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(3)"
  },
  "r465": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(b)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(4)"
  },
  "r466": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(b)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(5)"
  },
  "r467": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(c)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(1)(i)"
  },
  "r468": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(c)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(1)(ii)"
  },
  "r469": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(c)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(2)(i)"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r470": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(c)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(2)(ii)"
  },
  "r471": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(c)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(2)(iii)"
  },
  "r472": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Publisher": "SEC",
   "Section": "1402",
   "Subsection": "Instruction 5"
  },
  "r473": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "1406",
   "Subparagraph": "(1)"
  },
  "r474": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "1406",
   "Subparagraph": "(2)"
  },
  "r475": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "1406",
   "Subparagraph": "(3)"
  },
  "r476": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "1406",
   "Subparagraph": "(4)"
  },
  "r477": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "1406",
   "Subparagraph": "(5)"
  },
  "r478": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(c)",
   "Publisher": "SEC",
   "Section": "1406"
  },
  "r479": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312"
  },
  "r480": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r481": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "425"
  },
  "r482": {
   "Name": "Securities Act",
   "Number": "7A",
   "Publisher": "SEC",
   "Section": "B",
   "Subsection": "2"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=51824906&loc=SL20225877-175312"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226052-175313"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(7)(d))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6935-107765"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4,6)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3367-108585"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3044-108585"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 201.5-02(24))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=SL98516268-108586"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(c))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(d))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(e)(1))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(f))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 201.5-02(25))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "https://asc.fasb.org/topic&trid=2122369"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794"
  }
 },
 "version": "2.1"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>63
<FILENAME>0001493152-22-023525-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001493152-22-023525-xbrl.zip
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
M";;S!L(?!03J0* TVL+]E<%]-Z*@X:'T$)-4)BQR,M>S%OC/8& 4!W08YH:
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
M"9,2(ITV%J=<I]KJMFEYW1)^OR@"2>Y_R;Q-;]V[U_#I;?W_ %!+ P04
M"  :2!-5A?*>$,P$  "H(   "@   &5X,S(M,2YH=&WM6FUOXC@0_H[$?YA#
M:M5*A #=[MU"%BE V*9B@8-T=?UH$@=\&YS42;9PO_[&>0'ZHO:J:\LNHA\*
MV..9>6:>&<=6M OK:[]5+&@7AM[%3Y!_FF5:?:.EJ>DGSJK9M-8>=J]A8EWW
MC<\EU^=1 VK5( *++6@( WH+8W]!>#D=*,.$"N:6<"$N';UT71,61,P85R(_
M: "*KP>F?A3YBVPLHLM((1Z;\0;8E$=4E%I:;SBPMNTI+EDP;]5XSF(B&[)_
M:.I@J77,IV'0U%2I$",R>C\L@LWFT6M"T=HM8SEG4Q85"V?U2DU3VZU= -NG
M)+T^%LQ2QQA;9L_LZ)8Y'.Q/EA#9Z&H\N=('5K%@#:'V!UQ5)I5.!29&1T*%
MVMEYM;Q7@/5)L:!WAR/+Z$(.'A![COA3]2,,>V!=&##1QVU]8$R4X5]]XQKT
MCB5GZM5J?7\BLKM"_3L.(^:NLD'&'2I-52OGC+\F0),7"[;/.;4CYG.X9=$<
MHCF%FY@(C*6W D$#7T2 DSU?+'"9\B?X+GQCPA*D#":W*W BEQQ[SDWL-SO^
M(B!\=2R27Z=H4FQK!(I0'+B,.86S:AGY4J\#"8L%EWDXOG9@0NU8L(@A&L(=
M,);VG/ 9!52_8&$HG=VV.DZ\S(V6@1)[+MV4(C%:%"%&E3IE#,N4(IQN!7I4
M"(:AZ?A*9\ZHBS;09L1^T&)AZ+K,1F>EZ9&@(9/AS_5E",MPZ<\Q*A7X@FLX
M:C+-Q[1!IJR<:/M*1#@G<(GV_>42Y1-AW;;]F$>,SW)I-%8LW+$VIX).5TAR
M@<1@,JE!+,*8H&.1O]V<LEPFS0E#"\3Q@PACNRV>"\EZSF!-B)@23D-EN/3H
M"EU* ,MZ+DM/2+)."DYIF$PM5O"=^[>8MAEM'.K]EZCW6@6W,LQA6B_@QAZ6
MN(T4\V2EK:M/T)N8";I )T*9Z@VG3L@I8$77SD^<TS5S-K6ZKM.,/K5/9Q^:
MDO@'?OP2_*AG_& <^_:")$G'_2$B#+LGCB;YSLE#F-P@ NR/DB=E.4T\#Z%@
MU!GQD$5A@,3!&;G*99QP6XZC0H<EJF5'1*G82\CB!U0D)L/[W:^RS_2Q]';?
M@([1[T]&>L<<?/E<JI:2WR.]V\U_OQCO+7.BN12M'C5AZ@O<!!7;]SP2A.A0
M_JV4'*(U:_QR S_D3F03+X\71K:4'<DUJYOK"XCCX+ZV#G.M<BX#_6(<Y]6C
MUTQ%%TG:2)W5XQD6%[:J]&EDG1ZK^Q!-%L<<3-LC]O<4$H2^QYS= ]/,EAJJ
MJ>/W'W8TU6QMP\-_X[?._W^_=7FS.GLLD;MP*TU'ZLJ3#Z#P^//G22 8=M
M6RA=B_JIZ.DAKS^16^^1@/_96/>JF;Y5 [U[PL,#WJ&#[M0MF8_4D>VD/-E"
M#TWSYTSEH6GN:].\>\5UZ)@[=2M-1K:;/7OIN-4L-\?UIYNEFAQ?6^][#?+F
MAW*$\YNB0(]1SVG B,QH$Q7<Q)3;<F$3AD%R4=& /L'*590\VUWS6^[5<^ ^
MRK'GRAF1;NX'MN\#[M\7W&T/#P_Z]RX$'E;PIAP?*;*[6?"HFZQ8,WM+]2:@
M.4URBF@J!B>/TU9T51G>-(2/LTBM57\_>@4JO6K#NW>)H\HW#=)7#^0;"O\"
M4$L#!!0    ( !I($U7W61)P&R(! %F_#@ ,    9F]R;3$P+7$N:'1M['UK
M<]JZ]O?[SO0[^/ _/=,]8UK?,)!VYQE"2$J;0 (D:?N&,;8 I\:FMDD"G_Z1
M;,S5@ $9;*-SV9N +TM+OW67EK[^O[>>1KT TU(-_=\4^XE)44"7#475._^F
M!G8[G4O]O_/W[[YV;7@=O%:W_DUU;;M_]OGSZ^OKIU?^DV%V/K/Y?/[S&[HF
MY5YT]N9['<<P[.>?MS=UN0MZ4EK5+5O293"Y25/U/ZN?CWZ=7-HR-77N4O2-
M]Q+^\]*CX:_*](;9B\7/[H]SE]J^EV;<2VWO4M4R!([-KJ/#O6)RP]NJ:UE$
M,QPA^'E1NYE>;OM?/[WTLVU*NM4VS)YDPSE$3\JD&2[-B3,/25M GGL0_/M3
MQWC9^)Q<FF>]YRQ-SOQ(T<\MR9IP7 $+[/;>"7^ =W"<=Z$)VBL?*WZ&OWH7
M#JQT1Y+ZDXO;DM5R+AS_,/=4^)UI:,#RO=KY9>YRQ3;3]K /+']2X,^?T<_H
M'B;-L&ENPA;9&.BV.?0?Z_C'N5=9IKU,%/QR[J+'1KT\N>I%->'L?)*-GG,-
M(_),RA%*("GPWQ3ZSU=;M35P_O6S^V_X:P_8$H6>D 9_!^K+OZFBH=M M],-
M.) 4);M__9NRP9O]V97=S^B^S^/'?OU/.DU=J4!3SJ@ZL+]0%:D'SJ@WY>T+
M5;YT/C09[J+Y4/_ 75X7"G?P7X@\*IT.>C>?;Z*!-J<#;'H#W.(I0L&]BV78
M76[/B$T ,0FIA_\KZ9!_PR)DC"EI95T!;S_ L,E O<7D,IS ;_/<_,QS"SV@
M*_#_]I4F=9IM2;/ -H_*S3SJTI 'SI-42Y:T.V"JAG(%O[.:]]OP/L/./+,X
M,,W)(W\!R2SIRJ5D@Z;[\TV=>;M5F='M_;__;O&*+-/\>?FSB90*R\#'_/T$
MO][B?A&!Z[+)-L=:U"4&?K7-,[AFO2N9P&IR3<=HN ^QG.^V><XEHN5N_"Q^
MB:3]'IYOW@U,T!1FG]*'WXR?T3*4(6790PW\FVI#N3VC6*9O4PVU!U]3 :]4
MS>A).NU^0</WF&K;T1"*^N+=IZA67Y.&9Y1NZ,#Y47T[0Z(.3*1#G+]410&Z
MHU'0G_#""D2:J<JNLGBS:TA57YE&#XD94H,,:QON9S$-E1*EP\'!5P'US%>0
M4N=32?KZ>>X5>-XZ)V:I<T?.0GG12B%,G=]SH;QQE8BFSM-IEH-V>LU;KTQ)
M1E9]_+BQO3PK&KV>:J-A6 5=0>8!NGW0_5.!E9JCL&!5V[-4J<J_*0A<3D5P
MA:Y++D4-=-6]%LH"-&+6F:YJT+:8 TB@1YE'1@#2[J#=!W# 2MTVY#^/DC8
M6Y$D"$<CB76G8YFD#':2T 0:>C 6-<<W-=V;BIID685;T&L!<XG4''<<4L>L
MVXI4/G)<O? G%3HHD>/J2E+Q \ ALFMHT-Y8)>B0VL-5?.5GB9V7.G]R^0P3
M%7(;)I"L@3E<2RU^R+IN275@HZ@7!>\8>9N=H=9]#R[VEBUK )3+@0D)=DVH
M V+GMVH?W665WH IJQ904BM,I@!-IH\X!AJ:B%\@PQ[7C,"O&E1(HAOBH(((
MC8C?H(<]K!H,P%4=*"7)U.'3K54CP^\7K!N9^_658<(HX465%UT]/)*5#4DA
MAS2F( #,AJ"U0QQ20/!E\8D5RN2<%93G@>6&% VCH"@JN@ &2)*JE/6BU%=M
M27.&70,6')@SPJN!#4/=4.&8C_DH-ZO]'#Z).\X0@\@@QKCD.(,,*)4A!#45
M8)=UV>B!&\,*1<9R8J1H#B QV4@1O )^JXC'GW+9A_A PHM/"6\?I&V/YWQ(
M]GY[<H,P-X]?^@+'E%OS5F"8T&+*S>Q=3(<$HSBD\&-[<@.@06#PJ[9@:-B)
MMRP;Z0P#N[M1%-C#QG8XQK71< IL"+HFY$$%$1H6OTD->UC!W$F!#<GR[ANZ
M[B-9W&'S0?N.*0@ N1"T=HA#"@@^#I]8A1RS[0-''I^W>)Q1;E;[?&Q217O(
M((_/MAUGD &EDC]2\+N/C GXD\K[T+Q98@3\]:5]"-XJPR (^.M(^Q ?1'B%
MR(3LP? <DKT/)<,@A%%C#R_#D!&.FF'8OLXN9$(*/[8G-P@:PBB=!\PP[,#;
MN1)KQ#(,["2IRNX"=/&PL1V.<6TVG <N'^,85!"AR49U:<;J805T)P]<'*^
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
MG.7:"8'"NW@-'TY$5Q!$Q $11_ KZHW2W2D"P4U)+P_^1/0!F?VHS?Y1:A)
MLD#7T)03ST&MX<.)Z ."B#@@XCBY2/@6<R"C:FY9ATSLF(G9U+QE&FHU(TY,
M2Q!,1!L3Q] 3=Y*='%MQI>JJ#6[4%Z"4=<B[CMK20,&R@&U=#-VUJ9ID+9R3
M/L>!$],(9/:C,OM'R"$4I;YJ2YHZ LHM4%0)[89)3#RY%1C<7HSKV'$B>H$@
M(T[(.(+.*,C0KS*!X@1:B^P[57P$8,IIZ0^"DMBAY! ]#Y;V-!T-!+NQ*^)[
M4Z9<SJ6YS/23)Y5>B)P, 0Q>,)@?]Z%E;!$T:$:V!<W<38<%3<%41X8N74CZ
M'\CDA@F_C3=^%*">W8".I)4<>F<5]*JA$LC@@<S,%M9O UV!MA#^7E%U8 .@
MUT!GH$GF+7Q15QO>2<,$U#!"P=HV2O(2M.RRD^M$U,]OAMUN"H@,8)>!LFFZ
M#!]SFF ]-*S[LYI@.D#$7S%L8$&V33>IQQ6A'E#J7<.T&\#L(<0L^(K+HSVM
MR)W,=C(C\*"RS8M9)IMCN;C/.FJC:\=@TB,AXNZD<SDRZ0F0]$WMQXI=%;1+
M;T >V.H+<+=;F- O<[ZOPG=*J"?L^/MXFP#4%:BAVAH<95E7U!=5&<QU!-J!
M%4=U&2/;K&HEV"X,R1SW%9C=&]DS]+IMR EH.K4.7C.#QQOI3#I=H9RG/40;
M+0T=A>I+&S#G&4W &W 7]SS;?, <5\B&CZ"#"TX\7;.538&)E8Z[E8YL1]J5
M8"-6FECIR()W$L0RN=D5:H:O6E@ <0U8MJG*-E <_C[HJFW5Z@_)!O1:UN"%
MN'.(Q_+R^K5L/VK<[6 HY&2+BU,X2\TU%NID(8I^VLMR$WSN&^T(LWXFT:-$
MCVZ+TS&&#IR_# 1&#]??!SIH=%73'C9>C4;7&%B2CI8Z-%[AJ-%W\<9NN,#9
MFH*%<[P",I^DHS "GR"9 &@3@+S3Y^],HZW:]:YD0O<K&?#QAH:B;/B;V\0<
MG5[8<4)P=,#3U,B7WF1M@#J6(A: "\F"+!DO=H-:ZLZ D .V:CIW7@ =0&99
M[JKB:MOW17.07<-E MCM3D8C@#UEP$8O%^6G8?G9_=0$L*<,V%TU+'^ +4%3
M#4L 2P"[IX8-&["LF&:9-"=,/F765.=1IO56>E-[@UXR@#LI'#D[2*MM9[ '
M*\S7D(!,<[5SG#TF6#U,; 56#SZA@C7O2%%N\BE/P'KR8!UC8CNPCN%SD-5.
MXSSI?(*NCHY&1CO!W))UV3D14'T!:(_M?'[5-S5>U1>/FUQ(WR0#\H@;%:DW
MF_'<EHV'64>U?I*.4<*(0NDB]/7V88K8)'E.1"RZ(K9%A8.(V%%$;,?5&42X
M#B5<$5PFDFS!VK23@SB*R10TXBC.3G<LZF7X9)28P8A+)S&#<9-,(<TRDT^3
MY>JWYJ=KB!P]YOV,-MF1A6$>&R1H+K8&"9JVL#-P!!K'=:-GYS@L-]I?$6ST
MEQ?X=!J+_WQ,\9$]XJWABM_01FNM8\1TZ71A ZI%SRQL\$Y(@[&,J=HJL.X&
MIMR5+%#HF !,>W]Y%Z*.8:H]0#5[22OK+W .#-.:OZ8&.JIE Q,HEZH)9'@!
M],) <E9*N,L89M9&S)ZVMHF1AY''==,4JG Z;]\$@&,OXIA=CQ&!11S3K7!$
M)(E(GH9(SF_CXP_02MW?\$%'278!TP&Z/%PA8C7#[HY/M;B#ZD('IG5S4TR^
MZ*SG#A[4KFZ$NH[KQ(0<&.;)6XJ55. '-59170P6:?$2X/\FGR;MJY/E3-4'
M+4M55,D<UB7DSLRL470;1$?*F4<SLC54T.2%[,PO-!'5[Z$[B*;+S594^\@1
M3 9>+B&C7B24=IKV$Z^IUBQDUH[_J+YG^$V$&0*%.$"!.6:760**"($B'L73
ME>WI"):BBJ7H[=!=U>>>("@R"#IX]WL"A1A @<4-A8&NNCAXJ%\NS6L/2-;
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
M!O0 NBV0LC_0\@-GY0\* 6>6RGYD_Z&ZDD6A%?0*)6G:..*WX+__#E044<)
ML@7&%\!G3H)*'BWC<#?)C$/+:4A*>>![_P[&F^AWM$N&4@:H?ZYS;=\$,G!2
MF"Q'.=L.+>HC?"#$.&4-H)-B=0VT8-?;I&%W)7N1^%=IGDQG&X!S\W@0_]!.
MNN,C]\_[=VB4+2@J\(+6,QP#NL&Y%MZ%R!@_".U[LAPJ'"I1#B3/4(HTM#XM
MI2"S<T6IXL T42,MY]5(3=N2O6JC8__A*?_ ,?6G1X"M+.7__M3Y+]0XR3^G
M.MZ'C1:'4).M78G(CA YGQ<5A'X(_)YJVU!6@ 8%P#1TY*QK0PI QWU(E9&N
ME62G'G<IV1*%MJTLJH'I,V833:@UT?MW I-!DEX#G8'FE!RH>KI!?413D?U"
M<3SW:7R%W56=!?E]M" ?LU)X_VY1*[@D3V0=6/\L2S*WL"1[P@G$B+%@^4NR
M_+O1S5_?_1TJ..HAZ]X?(TD.&_Q$NN>E&XJ31&F0=$!)L@RE&RU24ARTF\@$
M^GY+01BE?7ZP>E IP'>8GB&!..[!@0WI]^^@',*G02.)N-2A.J;Q:G>]WS_!
MX0"'- 6T5=W98VDA>4>E3([YLHI YV?VBW?9Q@O&!**T]R*%WI7(ZH^O7D&L
M=Z6J.]H+*IQ6FO,<&<][0<GR3P>%V8%%)MD)].U3=!S6+><W"/ N54N@QKM7
M/H>5[D4#@H5$S+PM3!GJTA9'KD8IW1IFNN1J:0NV680SUS',X8KM0[G[!_X-
M&@Q9PI<M<5[NP$0>O]QOG]L<=:GSRKR1G,-:>*DW[+@3\4@SU@*V9\81+4NF
M/'+DK@_^G<%<#"Q5!]:*F/^JS)64GW>5;V^[-S<*T'3-AYYM&JXE525A3#:?
M %FEL=/L$C/O.4>.V$7)Y.<DTQO*M3.(HCL&?PFUJ]7.W0^&U9@#2*@O7;M)
MZF&3\B1;MT,\WW[_;G7@C!;TNO$^-1_NJVV_/)Z3O8-QA&XXR;>!Y0;=< !N
M$T*?#D<P;D?OTH:.3+^J\-WPO90.!V"@2/]%M9S 1)=T694T%*Z@S?V(5'3
M@B*9BD6A[@"JLFJ-&?]1^L<W?MZP':KT-FTSYC87]!?.QM]OY=SW:KE[@\4E
MW""<2T0%ELSD@3?YTKE#MLWJ DWS!)CZ",7227JY#6>6,TI0$/[Y1/V"9(W#
M0&IEQ\RQ X>>O]9:]46V+MS\%3+]W=<6!.D&N$P/BHHV)*))&2D>T"]8[]]!
MB!8&'?@^BF5I"L&#7C8[RA)><_/53V>]DK-2R3V!ICJP'=,!;4A3+3?[JJ?7
M<RS;')4'Q6JK+'4N_DY=K2NGY@%MR5)E<\VS4W-8+TS.]<JE678>W_J@IQBV
M F05QD8I:OS!^C=5KERE*'1(B_,([_P<EJ%S69'."Y--?1Y]$ZR[I](@$9<=
M"N&,0!(I8TK=89/'AY:#8YRPLK0&<^,9*Y,S62)ZPDH(TY5DU,WC#LW6%_B
MOP.@R^A&=^J<J'091VN6\VX:K^CP=5HOF:V/+-9/YE^Z7/A8*) L3]\T]>*3
M4)EGNP;:SAV3"'Q.ECP.>N&B%RIZ)TTM\<D$TI]T"T"]":GI.\R=Y8RX<J='
M##BSO+)L0?,$XM:LPB"G,45J+%];BSTPD[*E;W+8C7NL3%*&E3#P-0H7-Z7W
M[ZI75+%::90JC60<!T;6#^RYHXGYE TW)1/F=JPX$A_CS6)KG!0G^%_&KOM:
M..2)8IE3%\O* K/6NRM<EY;T'(7Y/\<:7*6ZZ$6$4R6%:@Z"IF,: UU!JLXP
MSRBST_K(,0+-\3F:RV3^B4@EU9GR6L.EI;QZ6R@<!?KZWQ2WM07 W4Q*HKHF
MRNW\G]1D4^=7Y4JA4BP7;JAR!7E5A89SD*6$LS>8GQBO%-P0==5!@/K456T0
M$71&M*">?+).#/,15<X1Q5G9!CV7$/93"&B;YAYG-#V'<P!7D]*XTVK2W27V
M\4&7!@K4?<JT08X44S&Z2K/$;D1/<")*UJR<\:GS"TF34,NH>A< *!>24Q.;
M' V)"G+.CHQ+( /4+HWBW3HCZXI+C(W/,:2&6)X$D#4K0$+J?,:H0,FI]H';
MLW&Z$;D!KP:.$-75-^K6<+9&NLN]EN4L(:+%$8,4/>"&%C&$40:?$;+,HI 5
MG16*%EJNY:PLZ1J: DQKW':5*OT=J/9PO?R5DBU_/#%MIR**84F=N"1UDM6E
MKC3C=6K:3D>@5AP33 P:(6NM%&71@EL;WFX;CL1,T@Z47UHB 8*2(98GTN!,
M/EDGELTF=F*+%#:')X4=EK7(I<YO)5WJ.-; .T6"NE0M>> <E^YX5 5=TH:6
MZOAD4R-2-'3%W3B&KJD!:Z M9B1B;UU(5!-M.4L^6<2V)&$6P[$M?+1M2SYU
M?H]V_JHPVD!] I&9@%]HWM_(RFB&-4#;H@HM8V"/F\E2-=7Z$WO3D2.F(])B
ME'RRB.E(PBR&8SJ$:)L.ED&'&NBV:6CN(51WIB$#!9D*8AB(82!DQ1+YQ# L
MK(>/WX)X-G5>;7PKU<AJ>**:"5E$-2=(-4<47-A7PX?FLW.I\QO0D33767>.
M9HB_MYXG)B'2XI%\LHA)2,(LAF02"A&W"7SJ'&7SJ2M)M@V3F -B#@A9\40^
M,0=1!5=L%ANQ0NK\09\>*$W5)0TX2X;&&RAFSH1$2?\'"Z ?Q^$$,1[$>!"R
MXHE\8CRB"J[8K"9B,ZGS2]"6G%6F#WUT8"C05<.<,1K$0! #0<B*)?*)@8@J
MN.*S9DA,G=^J.H!111O 8&)F>2DQ#,0P$+)BB7QB&*(*KJEAR$3<,&13YU7G
M;*:R[I[QHAHZ,0G$)!"R8HE\8A*B"JZI21 C;A)RJ?/26U=MJ0EH@4$L0;2E
M(OED$4L0R5F,RAZ"6<6;3YW7R]>50N.A5JK'7O6RC#_XDGG(]OK3]+@O5+7O
MM/TX0R\:G_7\A7J4M 'Z^>0/V]MXI-PL=SV^?J$:PSY\?\&46JK\A:I(/>#R
MOF(@CG)S9\QY=SD':TX@^94<Y$<.\MLLWC$="]JBYCP,G3;LG-DR'I>[T:Y\
M1JTXPV5FQUJ2&,!-&%!NE- I@)]F&%!O%."7IW#:7#S'DNA3*6=1RD]0>E&X
M@> LO7]7_U8J)1^7P4RF=W(ZSXA-%IV!7OE=RS)U2ZLI;6A0!STXG*%SR=FT
MFR>5IN8/5]CA-,5@1GKI-$5%M?J:!)FD&SI8Y7EO$TMY1_4A>^Y2[F?G9VTW
M_/_,GTL/W'3SA.5"OMATSIX7>:8YNG_M#H;5"_:[F4GY/<I4.]WE9P5\)RZ"
M!40PRW(\!(I\<S>0NG9??L9.L!O>K/'&O !KY6PN'+SH3\2*(R8=^7H%B'ST
M)DU)^;//)^H-=N;BW,/]E<-<MVDL=,=CW#Z'L> 8NT^R9B.D5C!O#RX%Y,'<
M 4[;O'REH,_0LN;Z.2Y-9)XI-L' 2G<DJ9].%RP+:OM"R[)-2;:;ZD5S]'SQ
MX_[Z-M^X&3VGUO-VQP2O7USEPX="O>X8=0Q\P,C&K1FR:*:P*O)HF94P;,8B
M>+-+X"T.3!.B:(IAAH4H%CN#;]G;[L/?4CX<%&^0?7<\8]HHR:'T+(ILCA8U
MFR<='>U0T!7T+[3WYT724#?Z@EV43',(#8F3-(0@X,K-?I_I,\V>5"B.+B2A
M.3)$F_E>Z?]Y_BWL@(EM_,VQPRNBI)0/*M#I%&B;DHP^@.DH%GDU?@SW885)
MFK^,]7W9?U<\E,TL7#Z>M:_JVQETQ:^0+*$6S;K4@S>-V7\6B/LP*('" 1]=
M0[G[@E5M(Z<GS8AI'@8H[D*:?U/JFWVF#WJ*82M 5GN2EJ+&'RPW]P=G!3B?
M!KKJ/NJA?IDZ9S,TPXI0-/FOG^=I/5\U5%_&^,,S5)9G#\MR-LUR:9[%P/(\
MG65R=$;,X&.YOZ0SL^I=EJ'\V58-NI!PV##XK0![K%']!1S<//UX;ALR0 P)
M0^D'BRT]PBES0CE-Z< .6^&NQ]$Z=H8KL2+-YW(TD\MN1,^Q3!5FSF$3/)[.
MY44ZR^?WY)R_L.5GA*VLO\#1&.80#LU?N*ZYZ^\O#Z"E/:@A6\_EL4RHBX <
MS7(J7+G)T3D8-6=S8DSE9B.GL,D)<@D$.L\)H<A)9D9.'O26JFE F>H":ZU)
MRKV(.E/@'\Q.2-%T, 'RR(8F"<[) !P7&*N9&*Y "72.8V@FP\94H+;D&T8S
ME!=$6A#V542;H[L[$_0E52F]]8%N >CV.LOOYP)]?SG3>M_:/WA>+[<Z(5BG
MA>1D,)D;CX4"[F#<SA2&LYU GLL+!$J)KH]'-N=K@X)RNR<%@FV 20W9D HY
M.IO9[$2MF.Z@K"/SAEGOY 6&S@4(&W::-W]E=+4JOXC43F.B=^RQWH$*:/3;
M?&Z..O;SH\T,'MN,$JZ=#Z"* J4F&X8M:2>FB ZH<O@,G8<3FF<WVTRB=;:<
M)'Q^#4]GF"R=$3<[A'NK&%(X.FX-X6))L5<,7?:M'=U_'W:!?E][Z8>41@RD
MH&\,"#<;F#U2/=IOYDMS\871AS,YO-,D..VZ@C+J?;0":CGM51EU+[CFJ%8>
M /!X^<O\Q1X\[>51ZT0.P",U CFP=6P,N?HCT&PN0PM[IWIBPSI\51R.SHD"
MG17#">-S,V(V/LA5[]P R0(UQ)=J^P'&$$B3^<L9]SM;^RO9PN,3=\Q$V81R
M^#<DW9W3M-%.#^ ?CB*.@/BM96_(M1R.IT4A%U/AVYYQV*0OFQ-HG@E'](IS
MA1Q;TCMJ2P-C+P?8I3=9&R#L7QN&\JIJFK\$LD!Y?JBVA$)OER4S^Q9X/*K'
MWDX$I"P()\,5MDPV3^?%S>L<HBEL._,/7UD(1N%,-ISBZ:Q7>0GZAJ7:UF)<
MX2]GK\/NKQN[^M(K\\>T=./NET/(2I=ZFM*\D..XP%G%SM S-F(^KI6AK5B&
M=5T0RX5><YU).V^2K;^%Q^KWC&3+=O?@-LSM%.69KXC(DB_O0A:DK$@+ 5)J
MT92DX S#)T8Y*$=\.&L7BG-FJ@W@<)2R+AL]T)#>)G;97Y@>*_6WUU]/5]\:
MNZR7Q5O36!Z[-QK*EMY\(K.DIL=73V+(B1=:8'-TEMOLC9)ZQCX3AD^KT&(6
M2=]FO1)J^73>8L]64%TM,ZF@7@C]UWK.ZHL_6\=9P;%%V51;R,TG'<.'=2#8
M+,U!US*/>N0078-]GO!I&)%FQ"Q:I!K!\ND:]R/"%:QH41-4QZ.ZZ:QF=Q5Z
MKB<;0D]HE)YW6?H:5*%SJY#D:NI@^IG;4>Z=^RC%&+0T$&@GT)9/V4+H0\Y$
M\C3+H>6SVR]G63E!P51R4J<&FQ86\G0FFZ'Y_.9$S$Y30[1P)+7P[.:=&U5J
MJ9ISDE%!5^JV(?_I0O\5F)9[/-[<_OY>Z?;ET>(>+A6<*Z4#MD*X*1<NRC?E
M1KE4IPJ52ZK>J!9_?*O>7)9J]?_]7XYCLU^HTOU#N?$KBC,1+6J(8$9H J:"
MR?L+IG^;@I\MHU2^U_]T6CBWI&_5FT";TDB6F.TXYYS/MN4[:8AVZ/CN6KDI
MCLR<U1Q90_.ZE1E=R2 :&Y;[+LT[,G[)I=K>7_+E7>B)S4R.SHL'7]-R4'9A
M7,>2A[YF.,4*<4:,2KV^9@P!J %-LH&RK$G]):I4R[^\#K_=C_Z&L0]LHQB9
M X#:"O70CAGGM!AGZ:;IC@'^8$UCT>.4MS:R-6QAX[@\+3!Q7;VY&_LPYO09
MD:.9[+ZZ:O,*S@75,MG\Y4(\J#2*K>]Y^V]>KVB[] S :=\<P5RS$W/&"SHN
MPK9E?.CRFF5H)K8M"+!P$]]^QCQ+9X5P;.>L"UHQ;!#(_WQH":96A#PHYPYN
M+1&1GL-)>W)X7+3X\"U<\>)XGA:S<5W@&91=V.2'XT6:VWN-7H %9W/+Q#TM
M,5PK2E=OER4F__O70W^7\G5H^Q<\NS:D*:MKF'84EJ2MY6[(:]-$&.XQ<16X
M'3B';Z^LD*6SV7 6>PJS_1WA&-"SGU2[6QQ84%Z &4P";[(-OC\RZME,&.T=
M]UNC-FZ[XR>$25V+$&0BPV[WPV=YF@U@7\DR$CQ3AZ^H2;-\)E##28R+UR[6
M9NX7EJ^-M0Y4/Z/O%WIS=-<H\*^ >1D\'7VM[ []/WS"WZ2"^] A=([.<R*=
M94)J8W/R$X4OLPWU#4?G L3GI!E(S.MU5_Z:?F5'D)M;K7&EU8<#3HY$1Q!2
ML]T? _F@0<>J/6<WE=%5M=(<Z=]E(/R2[OZRNX!COR3:<H 1D7UG 3D:<GJ-
M%K-YFHMMNX)]F(BQYI3/0T9RFUWQ?=-N2+\U(')G\XK^(G>C6=9%@7O.UHZZ
M;F(^A1T1R?/C8M@>+BMFZ!P?5S$+S#%L,@5QEV-H/A^.3+&;4]F;;%JIQ^C\
MT^\L*XB'WT>].H4=$1';R-20D]@<2W-L7$]3V(UY^'J",!F:S^U; =B\V=JI
M,_O&%OX2Q_\9@6\#[K6]4RDV[,W6;F\#S2\ 27H:8O5$AKSEAA9XTCPVW,G"
M> !%:).U^:"DE5IF-EWMJIE)NEK\\Y O]V]^75IA;L[#O=OZA-3.$30.R])L
ME@UTW!!1.SM.%KZPG*&S.1Y&72%-%ME=%,FL9<E?[R_LP':5/%3VA7II9/U\
M;([TMT>F*OYF1OE,^/I^&]U^DAH]Y+0G0S/Y7*#S>H@>WVJ*,+;\HGE!I,4
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
M=E>,Q$= #\&30L\8Z#;A"<$)P<FV/*'&>3C"E3GIB9??>PB6>/DGPI4YC]G
M*CN1<ZJBYM9B=6')<,APR'#(<,AP(CX<WXV.?+XIHQP\(S!LL^E\$GEF9O/C
M[$(RM\;65.O-D6[?7X[>*KV_0F;[I K6?9"!WSI>H,;E/J"&"9J$5F!+-G4K
MF7*7XMEUM8@MGOYA!0AV?![[88OZ6S['SL[<\L;4>K.O*KX3'K2BNFG!4^OR
M9Z?;*=:L%&6K-AKQ!>BH.G)ZX?0Z3*?'75VVQ\V8)QG_M?%S*SG3%I#3ZENZ
MJRH*@-= ]G#J6\O4&#Z339VG)\LT]YON0-,3:2@M]?O"-!LNY<'_&7CV&#)[
M.!0!'B7@LTC,NBX6N)_V0[VE'$$'K-VRN&%38L&JMMV-I7R:GRS]:2Z-<>\M
MITR>ANS>N$OQ]. <EC+: (LE%R=47/B= )]C"1KBC8:U*S-W/@R3H?.9+"VR
MF]O8$'A$WG/AB><24^'V7SZZJU3G<BS-LT3CQQ,4.^MRELX)#,T$Z&.%?^+]
MFUR)BWF>LF4-@'(Y,"'([^ K#,7I%.#\5NTC6JW2&S!EU0)*<Z0\JV\WV9?;
MG*&%F0,ZT-8^9Y"4X8Z2 MXP([[T&L,"Z_2I+5?'P+.@-E]D,=C\F+)YFHPH
M;M8S;GCLKVCPY2Q]TA77;U=7OYZO?]7$:;IBA2K8/6FQFTG:BDO!>MF%E-3@
MZ R#,9\14\ ?4J]PIZM7CB5\JUVA+64OE%2!0&<S1 0/*8("$<%#L#E#V!PW
M31<+';;Y9)1UW'&_OC),^*X75096<]03RM_:M0'[XW&'[@C'61*Q362L.B-&
M,TM9XS$G7WQ(;!R>9L_BJ.3'E,W3V/@B:&R\K'%"C8L+:JG5;O6SO[]W%^)B
M'T40E<AXB4='C8I%@<ZQFX^&23K6C^K%' L12[X-Q@HNP<'A<1!.>5_(T_D\
MT1"'=#IP%.$)FS>RF21'8J7G=M9@&531QKB489>8O= $\L""X3+JC_<,/SD-
M<1O&"IWML*\&D._J<.IJ8 ],,(WC_];%YQ+[4]2>0HWC#UK6-L?#=;SVMC-@
M$L43%81#T^>)IB?0C"0T<R><8 K-"7ELU,MG^YO9*(1?@D!SPN:3OPA4\$DD
M6;9P$#:3(#?FBB\>*LT_',O-5#0JP"[KLM$#-X8%0ZO63[MQ6[CK2^4=6O$=
MMT3J-<!A5QVSZ\<L.'Q*=<:_\PSXOG^], 5MV8-1W$)ZY=Y.\HK9PZY%R"QM
M89U$#-:)3"P1/S)+.XD?CO879&(C.+$Y,K')G%@<*58RL0><V+7EN[F8:,L\
M&-Z-R-E<EN:S KYPD8 LQB"+-XK\N]N).W2W*S5'Q<[];;D@J9>]>)2 /4YQ
MKAS,=+<+<-#.[N_96MZ<^RC%&+0T@%/@ILMI+]?WO2J%W@!/>KGZF7OZ+=__
M%2?K9DO.VU?VO@J+5=NY&0*#HUSFBY0#6("C(W*I=44T9I7/XZ@%G.RLKM0S
MV4UZ)K2%^4^CM^_5C*V__&A%1<'@:;H7XDI\U'0O*])Y >-:VY.5B8-K.DS-
M>\)9UX^:]V$LN!%4Q1E5X>P28&D^(](BSL91!&91<]/"*(J168V3\L";VV-I
M4<S18HYX/*<-KYVM#D\SG$CS.8P-&78"T"2Q]]F6(&?AY_?OOO;GWXW6WVQZ
M>4\R.ZJ>MHW^&>4LUQE_X1&SM(0'K?12V\,%'8Y>F&Y+/54;GFUZI7.MI8Z
M2^%T7&,UWW<'XXR+DH&FC1GD3 ?Z&UXG>W]OR^PQ1F5#TZ2^!4GP/DW;1C+,
MAU1DSLO&P^><#YO]T!KTX*X0:3K^ >W8!G=EF.YHT''O=?5M[6'OT9Z5K]$_
M0Y[(R6&/<<<VMDG%P!W2^'S,:',_BC0E!Q%N&HK  3<<<)YMCXWR:7;(I1CE
MB-)E/>KLC2)-<9GRA@DD:V .H\[/*-(4ESDNR/*@-] D&S6+CS9+(Q:5X3@B
M\_@N\NG$*Y$0MP0HKUBYJ&X-/>K\CB)-R<% H6<,=#OJ_(XB3<G! -$#! -$
M#Q ,C->T1)WA4:0I.2 @N<J3AX"W3"7J'(\B3<E!0<.(@RV(7([DE#)4.+)\
MI\2OB)%#IB_6Y)#IBS4Y9/IB30Z9OEB30Z8OUN20Z8LU.63Z]@ASISU0<N.]
MZ.P6/5#JS='?R\=>HW%1O\AK<>G5.M[7P.4^8.3SN)F*2Y5D4Y= =C9F43SK
MK&AG]]VUYU&-D^AUPK0C?>P'OYTZ(4O7M.%";GW#A?I,8Q<VE,8NO1_U\J_L
MW4 2,Y.^"Q>@H^KZNM8+VW(Y\V'S-M)]V!RT&0S+SNY'Q0+PHP"(".,N%/\7
M$QO#1K/+V?7_#-S^2""(/UW$;S(_F4WF!X_I\>GW<RLU'JWZSYO2[W:<[0Z&
M'D%LFN72/!MBCR F2[.\WX9GH@Y.2QW$Q0!BZ12 2ZY\>R/YG0U)I(E(T\E(
M4S@]H1@ZS_$TGR?B1<0K9/$*$F1M"+L.D;%@LB1^(S)PDB8&;^<PWLG&^_6T
M)$)%A"KI0K5'ETZ.R]%9)I\<P?$_WS&S6#LL6]8 *)<#$^J>._AP0WF4M %P
M?JOV$0NLTALP9=4"2G-4OKHVZ[G>CT8V%XNS%=:?\(AW1X5+K>'RC (>TR)<
M<\9YDFO$;$"8&BN$TWDCQ3V"N>AA+G#I-X,OD(HXPPE,%^M<[&;C[A9,_*T[
MOD48/I6P[]VA_,CJUP]Y95()<RY8MIB[U\..[*=NQ>Y5YWJQ_H?'X:V796B&
MP5\J(PHC@5R+B%T3B5TC,(V7\E\=2&^I^T.I0K$<G>7\#A@@PD6$*YHV($=L
M (%I]&&:)S E,#T%5\4V]C^J)A%NB'^MA0]8:W&_OC),^,(75096<U3.&KGR
M<_;)^BW$9?_6\4HNJL,_A#_*&G.0J+6DJ352="&8BZK'QV'<?11QAA.8+A9=
MQ*!%EV4S'VK!I<9;OV_9EY=?6FNAX.)C+Q-7<EEB]E'++:) Y]BX.[E$5R3!
MI.T<'1Y+HI8B1I'($9&CTY6C<+8D"7DZGR<6BDC6\24K:-"%<<M0Q!E.8!IC
MF)*B)8%IXOT4')4@/L/0#(-_3W042D&9)I 'EFWTTNF"\@P_H9R.U3!6.'/.
MO-0 RLXX4W UL <FF):'"O++G_ISX_[5^D.VX?C6A,PQ\YPL5]MA'RD.)5;+
MD>(0P5Q4'4">)PX@@2E1C01S$>):1%0CJ9L3F$8M-GYLU,MG^P=I4<CJ9QE:
MR./O!1-QT!!1BZ"H!;4(9)L?@6D,8$IJ3P2F)^BXX$CS)\(I\<_R9V>6@E:
M7=9EHP=N#,MJCFZ'5]^D0K_VPY3CMJ'#.\O8.<7XX#E]R,?Q+@^'F_O"Q'=0
MA]5Q08^(CASH0Q]"Y')?*T0@\L:'H/R$4![4:148?$XK$8SP7=R(\3@FTD!T
M/M'YR4=Y8)V/\21 (AA$,)(C&!P1#"(81#"6!0/C<B4B&$0PHB\8:U?(SZ5Q
MMZSIXSW9A:5Y4: %(8<]=4[$E(CIJ8@IEI9ER99$W]H6S_EV*EEH?3)W4$]3
M+35'^>L_XI"MMRM_.K'8J>)QGL.L2R[<HYY= B6;^C[0 <4S-(58B1LVN(G?
M51$Z=%"*,6AI(,J:<-K,I[3^I/ 2QI8]=R9H ],$RES7GI_ NBW>%)XZN>RD
M:T_)>?O*T\+#8OVQ(I ,QE7!OI(10]>&2/2JD:PZYBYI4B%@7')&I.+PU;MC
M\7AJVYA-MBV\LW]R][_R#_7BWS_/B3-JZ_?7+[+9]_#*<'O/L0R=RXIT7L#?
MW2<J&(^A'B'6-0KB&>QPV= ZV;$TD\._$I9()9'*$Y3*</KBL32?$6F1"3_7
M1\24B&G$Q#1HPB;$A:5$*HA41$PJPC!>N$O%HIBCQ1R)^(AX$O'<73QW]AIY
MFN%$FL_A/V(Y$@(XJ1!_MB4X\_#S^W=?^_-C01L#-[VJ)YD=54_;1O^,<O81
MCK_P!K>TMU &<*I,/(-#!"Z-KN^.Q1D6?)NFC?GM3#+Z&UXG>W]O.W=C$9(-
M39/Z%B3!^_2%>E45NXMH8CZD)L5W/.7RW:OBA]7B+2B51Z9IRB@X,^CK?U,\
MLSXE[;-0)MA P@.V,[@KPW1'8W<!U>B: %"W\)*N195T!2ASZP_8J,_+W)(4
M(A7'EPHQGD(Q67+A#LEQ!J+._2C2E!Q$N*E\ @?<<.!2NU 9\F1/,\0NQ2A/
MG"[K46=O%&F*RY0W3"!9 W,8=7Y&D::XS'%!E@>]@2;90(DZ2R/F;0:88<(O
M$H=$1'C6HC567J>[-"OJ_(XB3<G!0*%G#'0[ZOR.(DW)P0#1 P0#1 \0#(R7
MJD6=X5&D*3D@(.G'DX? )6BKLDJ,P4F#H&'$P12<;B8DPCB/ H$1XU?$R"'3
M%VMRR/3%FAPR?;$FATQ?K,DATQ=K<LCTQ9H<,GU[1+C3-G@%ITL*RPCC+BEL
M@#9X]>8(F VQ4/C^7!QH<3G^:;PE@<M]"+$-WJUDREV*9P.L0]^"9)P4X^P)
MY.WR^'#4/D#Y]7V ZI,>=XLHQ]7CKF,\=>X+]5+I$4S: 5V CJKKZSH";<OE
MS(=H[(X6,_AV1Q\30$08<6ZGC!J:7<ZN_V?@?@ Y@OC31?R>+5;KF$R/3QNZ
MRL.?W^+O)_8FFXFSW<'0<8Y-,WR:9T/J.)>EL]DLG>'Q[WXFVB!NVB N]@]+
MVP!<8K5\9G(6?_\I(DM$EF(D2Z&T=V-Y.I?/TEP(C3J(>!'QBGZH)F(\'Y(@
MGB ^',1_#,6B[-MSS8)CA<*UW'PMDV-H,9>/J4GYA\C6*<D63M':V0WC:)[-
MTKP85YD)6CYD^,528=FR!D"Y')A0 ]W!AQO*HZ0-@/-;M8]88)7>@"FK%E":
M(U6V?EZ5!9;A0BTC[GV:UB*KIWWKT%]>[S6\6R=<:@V79Q3PF!;A$C,^_D;.
MOPI38Z5Q$A=![A',10]S@>.I/+YX*N(,)S!=K&SE-AMWMT3B;]WQ+;OPJ7W]
M>:OR0^T7^]97)K4OYX)EB[E[!>S(?NI6[/8])!;ZL8)[EC,;ZIE,')UA\*<<
MB<)((->B8=>R&(]XB#C#"4PC"--=E/_J0'I+W1]*Z8FCA0PQ 42VCB];04T
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
MK!"G3:UF=S N'>F.L(VOA=6="=K -($RU\5*^%,8@<O6P^-3>]+%JN2\'0J
M Z&E;E5AL?Y8@4@FQ%7;7$P]'"+1JT:RZKS'I$F%@+$#")&*I$O%)CLG',[.
M^;1J5']]$U_D\D6Y+2?.R*UO0;'(:M]37<-MR\@R=#;'T R/OP<%T2M)URNQ
MM[8X3ET.K=,C2S/9')%*(I5$*O>7RE"Z1_(,+>8%6B#&DXCIZ8EIT 1.B$M/
MB500J8B65'P,Q7KM6T*VX%BAD/IXF!F6YA-AOK#O#B(RFE09Q2FBN[J.7)X6
M!8%FDQKA3;9.?K8E.//P\_MW7_OS8T&;!C>]JB>9'55/VT;_C&+0,,9?>(-C
M%H<F SA5)I[!N;L:%T;7C_-8Z@"\?R?)LM&#3QRB%*MNV/ )M@'Q*0U@C(2.
MQE%U29=528.O'&=UK4_)&+_O7,+1_">=IJY4H"EGU)W4@8JJ#OX.@"[#&S-?
M**<I,'P$E4Y[2EM17X*OG%D8I^@H(4<NX! U;2RPCI9 ?T/B9._O^7?(AJ9)
M?0O2XGWZ0KVJBMU%XV,^^ P8K> 8/V-Q*06<!U^M,%4YXT?S_(<IY^:5DG>%
M\,%_YJ[2LZSUF/J%:@S[D,2"*;54^0M5@0K897S%0#SF9V_Z[-V%?EGU?OZ#
MK\F8)1II)$\;??T,Y\]O*DT@_4FW -3ID*"^@X19U,9MYM"C W)AEN-H)ERL
M[R;HRT@()/Q$:?N/Y6MK_#!4L9.:8LIS$1[+M4:M0+]_5ZX4H8)NG2=FO/5&
MH5&Z+54:]??OJE=4L5#_1EW=5)_JB1KEQP?/YOZ3G''Y2UXPG>F5I'GFLLFR
M7'/$=AOZMYO+W&U)A1IUT(/#&3J70&/B^294>OK9HHPV543'^EUIQJM%S7 X
MM3TW@^GNU*1'R/@%.S?R6-6O?K[7!K<TB:[ZG[?0LW\N/7#3S=-%G_D+5.WG
M)G5_SJG[CZY^_LX]7N@7HP:;\GNHC_T-_G9<I)>:/DL61M_J/W[VP-][YE+"
M3?ITT>P*P^U._9H97EC#[D_$B@7"CB2^ D0^>I.FI/P9"<&&9//?E+A^/<72
MXN^YA_NKD;KZ1MW"2[L65=(5&$MX*UNQC&&N(4\L6,SA9S$20CS<C,MPV>.!
M)Y!FFAG^FNOWO=V_&=7E?#,J9/KN3.-%A;)W,7RP@%+6JWU@2C;D5T&VU1?5
M5H%5:%DV2C<UU8OFZ/'QZ>_34_'Y]55.K6?,CLONEY6F8Z';CH5NFT:/,CP2
M*6E"XQD><Q MXQ2&O5F$1'YE?S(56L)^G^DSS9Y4*=Y=/(R>+XWFR+(J3\^O
M_,]<%>P @&!."^LX+6.O2<Q]\'-@(+'CAE\KPGSNPPH%M!#U^C[]ORL>RG+^
MN8-]=QIQ[DXCVW _;Y<LMB#K@>^:(%X4:$'PRQK[C\Z7%VN3.;'B\A[[N5;S
M>/7.KAUY["^HN1E!+2C/ \MV0IC&_V?O2WL35[9%OT?*?_#K]_;5WI+3QQ-@
M=I_;$F-"!B"!C%^0L0MP8FSB(01^_:LJ#Q@P8, &0R.=?3J AZJU5JUYT!X
MW*DH*V!J_TUM;>Y.T9"_][XS+WSGX:O!9^+A[T$G?1X>OATB=[/N[A'-7'?[
M_,'OT2<\E_UO"^X/_O /,7"V3+1')TD1I:3PYWT7P0"B1!80H<._%8#^R*E2
MKJ]!4AGC[R%!,4$"I/):&<G] I,K96,3((NL7O^Z"4&5",&WX U1$0()R_E6
M&&#N3FAP7)I,\ZM%QKX(.B98QB :& H*AU1Z2T@&'\:T[S!Z3/T6" 9X0&"J
M=2"_SQD&,/T;+WT/@&J 10<3O!6Y]Q&HB^/4+EC_HC.*-X \<Y"E)^)\K@O?
M'2IX:8I,IP[UK$8"USA4NA1+,MEL+.>V,%L\E8=;EU !%-SA4K%IR?W'MPS#
M< 5EYV*SU!\HV@@ >)<F?A"B;[F;'DHO7&'''/XEJ!_8_[\U505#=7=G,D.1
M7#:3W",9,A$WDUK<%G,3PL_X"!^-2T:5>K4.3I^"XOE9T'4!ZOIE36\ _4L6
M@5'3"XH@]XU%YR'S<O/Z#I1[_4O:I[3".R!D/!H:T0YAV.N/'8^!!VCIR5@+
M[+L[,&R*(BF*#C@QR[G!3D]-(+3#'J6I\NMU-[7:;0>-?AU)T"*P__69^4[A
MBL_&9Z"-/\@7\J_,V"AWXA,EBPS[0D]0N\" IKK?.D<2W\ &F2(+;5DY6>I1
M*1GSQ)$318A.TW@ (I"_4*0=D@5;=7BL)+?ZAM\HN+D9I1Z;W]Q#>Y]LUETT
M\@0YJR:1]R<^FV!%;GX8N.Z.AS)0YZ!)-H2G=QX6_\1-V'%!,@;5GR-I-DVR
M;&IS. 8?26;ID:RH7T U-1TRO65G\<8HWP]JW8+>CR_TLN@ NDL<)>W8^6"W
M0YV%Y.DTR:=7>_T/X;RM F$L89-TEB53V2T85O!!RRT]:$6G;Y8=)VD*W\L/
MG)4M=U]S])B^WJM'S%TU8:(%)]&R" /H.$_G@I(U"'4R11^B:1$3N",YR8N
MG872DV8C /;J^--B"#P R,LLK-(&>0T8=I#1WOMBJ<GL7(0^JM"R4> QUNTU
M)DB(SD!O#T>5S[!DFMI"[]J7%WLS8,8B4MD,1Z;3V_H>@T]?>>GIJ^M@(,B2
MNW/'89]3I9K9 SIVZ"\5M+>/SU=2319T@=ZGH'6V00![_;9'0D-;($0+;DPU
M'5?%OD)1FT%^#\<YRY TD]S U-H,<F,PQW#0V11+9M*1FZC4<I<BVN<D?6CE
MB>XJ!?/KNE/*IN2="UJ\UMA/ZMHT% 3"'<:*^3298381#HD3L*$!&:NZ2Y/T
M1OZV;?VW13#0#-D,*5D_>,KJ/9OZO;F)PAM=F Q  2J;(PADO'J#)!0-WF4"
MO9^@(SH/VQT>T!29S6R2=9"X\QD2BG&>SC1D=ELGL06?SE2HZ$I=&"''-4H]
M$T7= M+M)+"UR#BE'YELF7Y3OM/LSF6F%V 9V OWJ;Z"O0%/*TZ.\AL&V+M,
MMZ?A&6:X39S"2<C'BA"^,6B]698E>2ZH^=3V1WJYTW@Z3\W=^FC1*1[7K[--
MT7ANCS;1?*.S98614^/LC[0K: M>D'V4(-&[ ,I[L%WI#$6FM@D!)LAN70>J
M<<IC.I4A,X'.X1BC/06X1_2B9]GL%2P#GCB@KSR^X"G;J+]>ZT\@CO*$F2+4
M->,_,X[CI0]?7I:UNN)V]:E?[QD;BJ"E.-R=;,]"<R\=@GY#C^-:H[0Z>DP&
MOSRA^(S#@T927!8:"%P\^ Q=.[ZF I#@1+1DK2986.0WJGY'=9%-5U"8$T'1
M%PJ%TD-A_"7?M,:9;(7^; .#I_CXA<;\WJMN&:2_^'%2$AE4!GG(,F2%%A0>
MM_M(22 S&7BP,ZL-F=#8_^?8I<B6"(W%&,V066IU:=])?!R/^"BM%A\HD<Y8
MTCRE=ZF6/VYZW\^1]LX(2+*?Z9@BN^LZU<%'FPGA.EF:6D[\M&0=*KBFH'9E
MY"QS0S-T0&BFFOMLC4?UR^_\9^FF=B7LPE&TJ"*C;NEB#WF%M XD%'?YVX5/
MHW)HK(3O[BQ /DU"&7* 3J'-8!B'T&1(GM^D''ZI"RB][#A"!@V5!'-45P35
MS*D2:M$^0)<L.Y?7;WU]_,+G&WH<:?9+/4!ASNC V1..T !W0X>O ZY+Q@MQ
MN\N(3X9)P?\B5 2/0)F/%Y$Q,*8TQ9 4M3KTOBX25^=9A=<C@]P0B%M-N2%
M\R-?ZVFCH1AS&F5XCX3CA A408^>U,.C=Q]A+I*G(0-C5V=)G)A75!B-->4E
MRY%\=G78<ALNMK4VE&!K+UFK"98=]&K94;;GL2ST0:0X\9EYT+['[/N^&KAV
MW"6>W!'1DL0#&#C*5:USJZG=)M#[1=!>9.UD^L76^+TQ[%[G7NJO8G?GS2#J
MN@SI8" HQ,#+5NE MM?>M, X*IMY$2!W:%K0*12D3**_(63?DS3+1-M"R%]#
M#[F>"(!D(!2X?6TJ$("RH-2MMB*+M4X'0.KJ!K0QQF3_P:;>&;G=E!]W4MJ[
MZ 3,M0_"2C-JCN*L?YMR^^@QRFV*T1C7OMS8#$LG.ZO22Y.9+#S:5#R9C/D%
M9P3366V WF.4OH$NRE!9P&=CZE1<5K52,Y<WOS]Z27%]V2=$LY=. '?MAV]I
MA"?<0.1%+XIF")5!SJU3PM,NT+8%GYFQ 4DJRLR"U?PFA#,KP" )<F8A_C/E
MS.H:K_7+AX'Y(L?<X&_;])H@<^;PZ7PS1T@ LO?AVJ(8DF4BS.X[ L=6K.B,
M1U'B*7HW_.SDUMJO#\/?S1*1(?H/18&^(&G@/G"&J<NB"23T0TZ5IK_P75F'
MNKPFS6<=BXJ%**3T+>+VDP^""4I0\4<NL8D<\LD>]>O>D#-TCGO:I A@(R>9
M,\\&+YCX6W*6_@^R!;'L0=%>W=LW_F[/3I+=8FH/8H0CTUDH2-A$9GTD'C=Q
MR(0,27$<2?%!+;VV9T/%J-B0!ZJB; PT0U N(7\8P#O@9P0I6;6 Y*2O0N.@
M)3<<)C2^L3[4%ZE<O"[%T9]JI8 LN)P&LQPPV1%)M$%75E6DY:(<%$PAQZX4
M[9(&IH]0SJAU\,&AF0N6CN#@9,D,Q9.I$%UC3@9]LFB BHH&H#[-T61V%T5/
MP5/+=LM22RY+'="%!Z$OE'MB3!,K9\'%;,!= >JV$):O,AN>*7P?(6E66P&A
MQO&M^93#.%!1-FRAH)7*L.N7A2XDD7!,]40 VTG5J+JNLRBAF:0VD*JA".#D
MHDB.B\)O&S2LP4 !*#U 4!!]EA5M6+*_F,ZU*8OOK"*"MV(UIN$) >$RW]H(
M"1X*13,L'2>.BVX:#B&K-NE#2CWEW:Q%$#M.D,$:P]\ZZ, G ND? O6@/&$L
M@DPI7Z/L.H1I%9B^1)'Q-5LQ,]=M_OYFK\DA%6?.+5HE1KV/%#8$^YR$7UM\
MST-NAUTXLB2U46.>K4@U#,Q6-^8) [0XTX,S/$EE(Z^^FFY5:0+DH0XX4)JI
M/5_7^U2SVMEYDJ&[+'R"]NN5G8'0#K,)&9Y,40F>2K@UV&+P-J?(3'J3CE6G
M6OX$K69U#;>KP5<U%6G(DU(.50H(?Q<]E=HW5(_.QUK.OT2GAY1YX:2,>O55
MJG3*L(^26%(M(.).59!6- AFW8!\H-;Q)F(U-;>"<;;"V!5_#3#\>,GKUA6]
M245Q9/KD9/5VK;^S?L+45A05[TS)?&HV*O^N >0=3MC+<LC;ET3=,VSV=GK[
MD;[_,5$?6/CW^=ED;E$'HL F.J(I]Z&I4@5#XD'K"RII?T$2#:#+G5^$/>'H
MPM0&_Q*81ITO7*_8'-V* (G^F2VB]UUTA+ZLC/Y=]49\K2&/@;W R;:\::P'
MO)<& .=G@HC&<0OJ"'%[53/A$^!YME3!DF24*.*( B@Y#%,P;2?5S^/8?R N
MX6[^S\4%49:!(OU+U(4N^ 4?\&D!580WIG\13X)BH4<0%Q?N"93DK_ AQ)E]
MIM%*_HO/!=RBHCBL&+,0]!DN3G0_3[\#LG=%&!AP+>Y?OXBA+)D]M#_JKX -
M+]$B(1X"^ZU-CKCS:);]:Y%P=*_@_@K&7/G"#UH7J+^(YF@ EYC3A;8L_B*J
MD)/;@*]J",:<_Z;_N'>A7Q:]G_TK,*PPRY%<;O3?_T#\!:%2!\+'11M U@\7
M-,"4X*?:0\,<>G1(*/@ACC!AT_IF!WV>$D(=_A/3#M[+?]N_GRH/S8<<>7Y6
MJ18@*V[_/IJ=V0]#JK/0ROQP]U6M-4N-\[-FC2A7JKEJH9*[)1K-7+-T5ZHV
M&T<%@+\?7<'[S_'L*_CXV8IPU>K#N\30>CB "O8 *9PZFHPW[>>IZ5U!E<<X
M+@6- "QO\8>\8,A&K5/7@8&,8/R59<@J,(PB?* NXR(;>SP!&E@ N78=WBQ"
MJ[<)%Y57-/$#3]ITC3I^*N4XUO>VQM7FU?-E^5)\?II46,>(_W=HJ\J=4<2$
M786:Y?D9_9.8''$,2 ::MY_TYWNSF&K<<MD?O_W Q-9D ZY*[D")IYK$!$Z$
M"RB/K/9S6F* 5MS'!1O)?C!# G3)<I+Z@.$[6D#^'#7Q::S[I-;X6BCE/LST
MYT.JLT."=KZ456C7.LWRHY9>\N\9ZDX76N/WSG6Q4BU?O8X^IJD;VEZ0O%UX
M$1. >:B7]TW6,<-L?WK9;O;W).M-74"*FBK^)/XV>X#XG__+,PSUJV#;W"3^
M2/]ROW9NF/EV"&:_L0SW"TUWO],LW?GR'S0<311,NW-6H0?)3 $Z7$9.E\>:
M*I"$;! "T56T-FJ=8==LZ<BG]VY)7<=/;-G= J'Q XTM4Q=DG+MMR'U+$4Q-
MA[ONR-! TOM&T*^8<TNZ_#7S-7S<^1F"@R(,":#BIZ,7DD0?=? 7]!%) ,D2
M\4& J\#9CEJ_CZI?X4>(U@]@&C^))GR$ T.T:3KS"T6X3:2Z2!"G8D_5%*TK
M(^086L<<"CH@\<,,J-X(NJP9YV?.QE'34C27:K(-U$=! A>(=RIX(>0,8"ZT
MS@5>.HE79$!:,'KRP*FQ43#DO:>9/<&$N^O+H@%_A';;4-,5N!#9M.SC_O/\
MS,:[MY.^;& OJXQ],8;P98_3DOMHR6C\SA<D0_R8(=J V=,UJXO*2Y%3473
MUH-6KS*Z +C" MY!?,DZ?*6"%R$[KEH/-1.@C>!Z?. E#&3*$C(:[:5K$#5F
MT*L%0H+4()IPL0HP'*K!:T;*I.JB4Y)17E[;PL)](.BF"G0'FQJTTF5T3=MA
MB.=G!J0'AXCI;)8E!(,H UV'4*G;*T'0(PE\N"HJ/(4#$_3;D)(9BJ+)Q=="
M:NK"QPYELT=<0I$(=^K\@CQ?BBGW(0:5$=$&*.KN8L>^!%(19 !?@B1 NM0'
MFLVR]^(0^S-Y-/632<EJE#LL6JB!Q_G9G:"+/0*ES),^[@B)&,"S2PPA]4E
M5 3=KM]&3.P9G^0K>)X@)4TIKAX7T/"%NC"0)4A175T;XA(8R\3>)<1A!4*%
MAQJY5Q''.#]#F7::#H\+/*^60?Q=J#U5BA=T]A_[G'@+ZL$%&1/=&#X=\@<!
M%_>A5T+:5;6^K2I"@Q)WOX '"?WT^+.!Z%@4@>(.=I P#. SE0Y:$P:%K9_D
M!KJLH*/7 5!(" II^X'QX4921B&Z</FZ:K=?@IN"3,#9]0!W2"%Z-GR@N0.M
M(9) U6"F+18FBKVEBD WX?Y1I-&_3F<?B"G55'M=! L19*,)776)7P\Y&&+;
MZ(L&7A_<A2/NW/8X EKYZ$(P+WHH+0J[XHAA3X9/!-\#&>%50Z\8$73*?8$U
M@%_9USA/.S_#]C&\N(X[ZE;0FW2@#0#B]E.2B1 %E&^E0-3HX$L&0[0(!3)@
M2W%F@^N@:]DB!G>N0JN?0-->H2-* 9IT"ODBY(90F@#3EJ(ZP!U0O=97\$1
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
MD!7%0NJTJT-(,Z?5UT\'KL+=JE>AY#53P=WLDRZTCJ?*+I:9KLLX]7Y'O+J
M/FP(3PO*/!24P]<;Y7*4+RG]=X^3PA,W4 3X?"@<P(_?#;$'),NN(IQ&$#'!
MSR3E_"A(<6%95H@6,>%W&JZ9S%Q9UFS(Q09,0-0EL-9H4>^?U1=/G@_7B0#T
MOS_8N<XX2RJ)@G#6[.D $'=:0+/*]1<8%,G:#EC+F4$$ *2Y+0&(-+,-()6
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
M?Q'-T0 N,:<+;5G\153AL;,!7]40C-/^F_[CWH5^6?1^-KB/_"Q-N_3\W_]
M_ 6A4@?"QT4;P.,)%S3 E."GX$/#G#W'.A04_!!'F+"A[3LCFW* >;((Q15B
MYP"GZ>(S2D)TT\4;\O=IMOCFX&-.L\43C>#3M.73M.4#FK9\HO83M1_>\D^S
MQ:<4^=!3O?*;S4.E8QZX9"IZ^B.O\6]K18IV/5^5WFLB5(J$6""9PYI72">
MWN;C-EPFU1B Y]Y;>:VJ^2336QR!F#27)C/9@YKW7-H)O:T70_DN66E>3UV#
MP5H5Y'NFMMVV*82TQI)9=G58)$&TEHN"UL:IWFCP-"Z^/8'DSNIUJ,/4HDS7
MH1G4\9C$;H'#0?I& HWVD!Y3JDT7R"QHTY>YR\32$.UQF#VESO!TBDPQ!\5A
MT@D@MGGM2>6%\;C+,)7GM;JS)YG:HM>>H+;.TV0JR@G \=/;AC.?UZ2W];2G
MQTOQ4LY)\J";Z.GB]#Y32B"M<21-'Q1OVTA[FJ6U\;W5[>:O>]*WN%8URGZI
M(XI49\1=Z'2$JM.1SA?WL;12Z(FM,;N[[MZOE5[>^J*Y&+M\+MUM,CU<:6@-
ML,GI]+A_TIG7O8H2?]<;==Y>J:0-#]ZOLXHFN0R/'/.)H9X-A@W'[(=Z54K7
MJ<>''O_&))MV=JH\<2F2I9)#-AL,&IYS*7UP>OJ!>GU^J:^E%.T(T1%[D<@4
M#^WZ3'(:OM+K8S!V_Y"F7#Y_5*A<;;T.47%3Q-Y]0ER&3(?P/^Z*=')[)YT
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
M\Z$*;1"]04?><P%^AD^"^X.0]6]0PC!Q=NZN#>X2K4<0L6M>'2$0.Z\BC!Z
M0@@/KD B25F5HA@D@V_=!13L%;7DRE08=5J9JJAP&<#+AK_51+O/YI2Z4G3V
MX$A_5T^QM!<Y7;C,LME)HO$<+9 N9$)H*2OW,JVMY(Q:9[XJ.7"Q400-&9HA
M>6ZA_HO1%C&V:)IAZ8BPQ8EBNMX M[VGSCZQ15_0S 7<5+S88D@V0Y,I-BB[
M&V/K_ QRLJET88R_(CS^: 4$2[O!,!T8 P#O_0*8U_4$M0L9O:S.GVRAKUDJ
MYM4*1- 4?YFPQJ&L*$1'L433@A>=GW6@DD6,@*"CR_&_;0%Y!:R!PRCZ\C?6
M]SW/@8[8OVX_'\N)T>3I-L]!MQ5L[N(Q-L=>&&#5:I\:[IYTA_C57G@L54G0
MI;JN21"]SE3JT4KM=^E]K?'-[7/>>+O_OB[3QZ\$YUOCRU16O4F]4J+^_N.W
M"XR3ZGM$.VSV(-]S^!,Q](:W$XB!#>Q#8!"8+\*G61W(N"T=:4F(X:*?T&PO
MJ&?U9<1D(;>$*AW2>06D&\J:A+BE!AD[9J9"QX0,T5632:)M0?U*,33" (H"
M]4H#\D^HYT+>#E\MB_"!P!DP#Z_ $^8OT(AY_S+1N^PW&>A5U@ QXHYFZ?B-
MAO-*Q(.QIBSX%5O#.>MH@1=X@<Z#1S^AG6=O$UT'G]!W[X&ZNXG"?'.WD(3<
M<71;M%"B(\B*@19CZ^X  1/^!;>&@>F"#XHN*%OA!B <L- ;:OH'A#0R!D@[
M0<1##A962 #I4.P,% &^Q7YAQQ:)+KY^$L59:8C M 2Z/H!ZR()W*, P/.4W
M((KI#P&5G&?-,,Z<*.K0,EFN]]IRO*+"BY'0AG O0>)'</&[_%R5RGWTG,,P
M![<A%>%=T]?75/ *-U33;^%V7 7LR?C\?."NGM^':4\!*\V#8Y7FM7S7833D
MF=TXWP:L.0JO,61F),LL#&X':\VY#;$\JR_O <NL]B%?\69]?)?=,99G-.N=
M8CF3YDB*7>AE128RY&8;Z-N;LY7S,T6#R$><&-*6QV/"&=;)92VW>%--^ X'
ME2[AT0^-3$YN7$KU;A+9RX)U1V+JT31)I1;F>@6SF/)!L)B%V+XUA^K=+7C-
MCCI)9#.Q89LF>3I%\IF%AOWFK*9I>^70QC&708J.JW.=GTU449^WT-7$?%Z_
MQ?R%.0C^,D-GS<\,+[TRVOV;F$2N$C%U<2P48X%S0)=PDL)!<)(9O K5^F
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
M&AX[4&3SH@&ZJ&;1G1E+4<Y0WJ-B<^&"LM&'O^JZ-H":[Z@.L8A&994^+7F
MP+TZ*.OW?:[SF-:X\#GZ8I[NZ!L^>Z!RUPO2LO-!6JA82-^/MT7U,Y6FVC]^
MN[#!9\$#S"EB&SG)+HK5,F$(U1^ES8*'Y]P'=:F 8XK2NEL_/T.$"-R-$W]V
MR#8'\4U7,PPHE;X**T.V6$"N.- )">!F P*XS"%%</.^"*[2-^[-8OE[*!Q3
M!#?KB^#R;T*UUC#OY8&PY0Y/P=H%/L),&#EPJ:->L]"<Z*V^-G LVBWD"JX1
M(=QF5$:6Q\5G$&MD-Y7^Z\=O].+D!PZ7 WZI3>K.7YM >/,^E9D,3V;Y/R18
MNP',74LTT3 //N;43HYYWI(5Q$7AA>Z?E?Y U[YP@QW/C9!6\K>9UZM"L\Q'
M&&J8!XN[!N)_A/[@%^%]]*\I[FA.[ <_%,PWI<\L264S))=:[9_>5[0L]D,>
M-WRI%,F$J)W9Y-#O1K87[&%MNG>5>\R_7D8O]W(%7-=BZAXY#Q-W+1-+[N#H
M;_9\+P#OYA(' 37#!$U2_4-.=.00I3,TR=*KFZUL<H9#^6DV/<.NI[]LZ7!+
ME@[@A;5.1Q;!W&&^H3^NJ:OKZT8]7IGM+04[$C2\F",XS4[P8B6@-R5")L.0
M/'6H/9FW.-2Q S8- 4MOJ_^L[B03GWR^$\2>K )]Y+_2/=;CZN6SE<_JA=0F
M63\;R6AO/<24R_7@*'!64"^!\\;$1V;8+,F':.EZ=.<Z1JC29#9#0<5[M=&]
MR:$N[$)@-YJE^MQ9+CQ9VC!?OLQQ40SQ6 P#]/(C.+=N/L$\*+?PYF0ID@E,
MY#CRXQH',+EL&DJ5U=G*R?6'W0+! #U-D8*\8)\,WRFTJ[5:<5>2UUL.(1^3
M!VP)E#<E/I;ER"S[!WN]$@O3U=5(<7JZ5,/4+;QL7-[5U8'AG><F3ROZ[=-K
M.<Z>CPLK,?QK0V6*[NH.OY9F!QZVQ6C=>% ARY)T=OVT[J,?Q; #[U[TV,Q
M:V&UPW0C7)Y*IQ)9.E5<2Z#TA7H]5ZJ.:^Q3:US[?L^^&]EV;?01JQEF5TP-
M_'E7!V^4;6PL9,A,BB$9[L]3V38&69JDF#29HN,9/.=W@^1$T>I;BF "J0@&
M.EP3KC: ?RL EQVH4JZOP1,RQM\OA 6N)L>%Y+[C5JZ^O*9T.O5N[*@%Z$*V
M?@OES+^$;[,0_)/=VF4VOFT>OBQ?4>4<%=KC8!@LF4JG23Y$&/14MKX;A&[)
MSJ"ZG::1$$A6<?O<:.3D*D+)6DVP5.'"J&5NA7O?](F):D-M?S\^/K(/FSC'
M-^T4'416]4"-C2148*XBU8.NJEZ&KUAT0HZD^13)Q55<?4)3-'HH0_)ICLRD
M8^I1L'8-/-,:WY=O^G2E_?7RTC[06KSCKX'W:R#G9^![ %0#D&A*E&+A+%\<
MIO1KX"0Q%(SY.FJ_J>]_Z%3E.DW1+5_I35-)IPQ!&U^V)X70_GL)9SVK#IO_
MGHA;?R\I>.:H%-26@C2E)>7FN=5@HCTPT3:8GAX;A9OKZG>GSL0+IDT;;B^K
M"L^FR0R]L"H</1\7!AKR-]&'*^H9!(#$+@74>J\J[SZRDQG(>^RJ5_"-3B?X
M[2]HKPM=**<:4!,"JH@?\HM ?;'0GW91.Y:=DOP5WK:9 44:ER>O576XNI:0
MIE QX7P5]&(S :(J2%K-5WFP[%^+= WW"FZF$,0M="M?3#4+<*#ZBT#AK'^)
MG"ZT9='M&H @7]40C'G_3?]Q[T*_+'H_&UQS,RMY7:G[W_] _ 6A4@?"QT4;
MP-,$%S3 I. G[$/#''IT2"CX(8XP84/;=TAB9 S'T*6AHIJ"VI4A7.T^'*N;
M,TSW0UMY=VLLU^MEL],Q![G>@>J!7D\&;KXG0[8UIJC[)ZT/3.I301W+79#8
MG4WVW(W!Y6B'UXS!W_M^FLJ@/76I:=)05I2-.NF'?%IK?/LL:T\W5#]O,<?4
MKF$"@?,SW'(HT8T:=J5IS71OX%MCFBTJH^\[]>JU$ZI[P\*CGY"^#8?>>+_H
MLQW?N-OWZWYOH(N=(VK;0/G:-K3%+^7V6BR8U5["VC8$QR?+,K3\P"VTS*19
M%AN0,[;DZOSH3GC7] +JF3>3.U873'_R)]!ON^-.O_*6$N-O@N"\>X$JGZ":
M_%6(")7.-07IS:/C5*B<GZ-HA; 1V&?SKI()]N##G]O-X7>K-0K"0#;A$L=
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
MTADL<O"G1K<2_*CM[:G8H6G=S1^^&MGU ?GO%YH@.=]<R*S)Q9,3Y^!4LF)
M&:.'RK]-BK6J)RHC#<K54*63O21N%5;_U&Z& P"QZ1DMJ_VG=@[RC#%_[B*.
MBY7D6[^KU_!/DP H9_>:'PUHJ6#6_WZ' \PZ2T\8MWLM 1P/$ V(%I)$O&E'
MQ]-"Y\)"$N-X%(SM!)>L4 AL<[AN^6-O>1HY&&RUW9WC_T(K&&JG#G(<7*W:
MI6TXZS>,O+"_FM&_:[3!Y4\C]]RPV]O=25D7^EA,L[@, Y/3@^2(:;\9C>=&
MWU3LLHSS29#*4&JG\T=N[MV;GAOZH&<U'?,:QX8'H*0QC48DBN_*E))OOA?
M:Z@-7W1.'9!&EAD:=GK5PYXE.J#,MD-\^X(GJE\X0JT1 44[P9N%WX]^?R5\
MT&S03T7JL4IG"<[:7]\,WY0O&K656;V3\#I/AN+"V)3OS<"7W-.W3*P\*;^K
M5*KHQ7)6.DHJ2K T#@$#>R4.M(UC!OC44YFA>OS1_??X;;=L5+>?&6)\K9 9
MZG6]7F\\)S.@>3LS*V!;&(+^1J=[,1#8&</IRM-]*BMT/WUOGUT%@^!37(9"
M#V@6=>G3I+>?LQ@UGY"B47P63>T(L9H1(4J73VT':P'JOTW#_.J8JGA0UPN-
M<1\39B:NAJV\: _*?X+H9E?2**\M)3=>H5UEZ?H700\D5L]P,D>TS"@P>?&K
M:0EZVL=>H?OQKG=\]&]Q9?RS(-87Z_*Z<8I<L:(7JN.1T]5QV<INKLWCIM7=
M:[4S[_[XX_=>X;:QP+TV*@!7?I6M%RN^X%U7T*L9N?W/<]7QV5-DH(5A%CE<
MBX,J&&2(/$^(*Q7!' T\'+I[A\<7T3^1RP\O+D8B0=OLPV%/G?)5K9]3;C7[
M/:1XT^Z.5)CPH(%2UF#_N0-RD1U>P!$V!YYE:\6B<CXF$QKDK?'!V]?> BMC
M?)5FW. =TG*=D&I",F[U*/TNN_$YRYX3U[OFM=[@4BIEH5B0%W.E6)Q/*P7P
M&#IU#?YKO?E4\P[?O!_,<PMBZ#>UJ5GW'R?8+;"UR<D/Q4+T4S23>&0[3[IA
M#BIZ?7+^B[H$X!"3 62=H\,F)N6.94N41W4VGY% Q7*  _I=[#5X_"'>?&AU
MW_7.WOQW$L^0X ^J8^0P.9SB(OI*%KB33.AEGTJRJJ^Z7YF<IQ+MB8C3D%F+
M40; U PTW)\!:LY%AT@4=* OAD?Z%%*E\.Y@X_Z%=V@;5M__-AB4XFRA);#>
M^=^]=U?5UHG3*6;S'G$;0S'KO!;:R7/P6&ER8DRYBATVLGK+R]28^Y[5[E%J
M1D()HZ2@ +;D=^#$0]!,;<XH$X9G6U2L_H=FO=:*)96-!J<O^@/;)64:M3>4
M6A1K-C7 K 4/)P6X:L5*79'B]RCC)"'5\=]N&&AM(_1?-"MDY3?>]M_I<*R[
M.^I<#;BQ;=^-E/N,.HKGM\#CIBDC$F>&%?Y$Y]6HK%K8ROX$'.]?77]2LJ[^
M7]"X"2N5R[MJ5I,)OJO4S.(UMZ6SQ>1,_]4H3B?8RFG,K3+H@E<GK0XP[['#
M?LR_BVNJPF&5P3/66>R>VS@/0@\OH0#MW\^6=^,9<0(AIF=HF=D9^UK*=%]R
M))_^@]48(-6O, G*WQJ6*KTMFT>7'][?5V+UX2K[_.X8 3I0C-_V+"+V.6LM
MGY?8E\3HXZ?^RU]O!%PY9+BXG(-J&WZ@M4+?<H3O:Z8Q1$G4#+NP 6G>&:1O
MM'ND2&:SAJ[T"@/,0V,P\-P'8,E )!30"O43TV5(##[>#CT/-0L2=_1ATLYA
MK3[\C&>E6:G45?@&W$WMGB4P8=X1 ;S@=JQ 9N(*+;@7]IW*PM_=$5P$E<[#
M!U# 1K$%[OK7$DY81; XD1_6]8;:K_)WJ%$Y\"$+TVS;B!S<1O0*;-5%N1DA
MY]ZR;0)[7SMEN/L&8"'L[^XD8,4U:H0)7,.*-P1F-&8N\V)P#[NA;<KEKBVX
MUT&]&^IS'EIYXJ$I_PLSQ%R(-K0T^#'ZRFH?.JN'N,3 #9 9L#A;)A%C,B02
M+/Y*[FYWA[X:#O A0^&)<-.(<>,D/HRIX5;$P9H1$S\QK.6$PH^!F(&>"L/+
M>C,HN_3QQ":QF,/ON8#_EL"OP4;C0S>31YM\2SY;+*H=[,^JC]U"57+[E65J
MC*+HT =J-D,;,^4#)*EX'H-BIRCNC_Y/*PB$0#4/) 7Q!M<OP&4DZ!G@!E!F
M;#3Y\"_J*\ATV'0E4A0G\3,0+4J-)"N+!_194:)TZ(0^=DV MT,[\+FB2,CY
M(;KFAVAM^EH'H"/'EK#=>UHKDS5<D*I8TXTL ;+V :M-5+EC!G=048)KPY+X
M$+X(7W0UV^5&,4%4:)FUR]0M+C%$50HM1A(ZZ%P4*]BDAD%)5DA1=%Z8^UHS
M$D4H2^=3Y^!_L+(V:T_H<R$4H+RDB(@OZ#:".Q!VVN:#E_47QIT!0AQ3Q*6:
M;R!20*8%0&^Z!LN1?(,+:.#ZOH4/4B5)\C#IBHGWYX.D Q%M^UJBU-0!\M?*
M7&[/V3\@W.EL$WJNYK;A^O6GDBE]K"]$P&3)?@&!JR4D>BJUQ8I*TUITJ6"V
M/_P 8*1K4'CK^!_8^GXN%;=@AQ@6^&!X0&6JJ5,Z+$"5'Z1,T8U_+8#\@(;@
M&Y<AO 4ZH=;L>H)O]%?X)AI-I<*?XW^F/Q3_?,W7?5MX@0%49X$Y:P4AD^7N
MCN6@7' ]/W,QSU>+Z%K27&./6XI2\:LD:GQAVRJD&:^#15AQP5I&:"/E_#9L
MY9E,IV:Q@_G4N4&_'ENGLEZP7%;U@O13M!3:21>=A V0MK)B_"I0(_0M8JR=
M)I%ZJE ZRW)3;U^!J>'3L1]9GFC#JQ=8J0>"*DH^*-\<OGOS]\?R<66R.\2'
MVV:F+V0!S$XJ?"SOE8OQ3\J"FXU)^>!47,EG9F'D26Z.2!N?$;O9W4FRQ-71
MA<8K1'PU1\&@/CW*P[%>.HY+P[OPK@,LV*2"N=%XSW82]G?3/OW\]:#RWH^[
MF!TF"RX'AC=?:?T<J)S4,6.SR#@9Z2KL%Z9$1F+DQ5$O'74*(Z[U'2//-]ER
M.#,&N9TT^>_'3U_*I2_"L.+Y98B)J+VQ/AH>74#JS@Z.;C1!'NQ/$:MQZ!7T
M$ /,%@7,[HXIP0$<,SPI=40!J20OU[_'$EF[AU7X5=E<QB>GQ#"EHB05&"P)
MA\<IBPI@$G9'@L-6'EJ+(#Y(R8+3/ &D:-=[9>W5"=HXY^Z^5BZ7]TKE^D&I
M\EH%(#$BU(&_CWTX<K=<'Q_B<A^,H8;^0CAL=I3X8<NG*MW 'L9F6P0@F 4.
M>^?D2SJ]940M,,#,HI2PT-_JLO.M,@12?6,ID#BB^@]LH\T4:'3YOYEJ?_14
M$YYJ#S/4?Z*XI,7!!'GEPG\.C8$5H!T =V;@"+1TS\X.M5=*Z8%GIED M$92
M]??0C^F/P:X<SY9,.V"JES(U2/'R_N[.3:9=,0"NX>\E+8D.&.# .NQ&';W+
M#B?<9<+#0 2 =M&YN,==]ZQ!LP/83]H5&/<Q!]]"$+OB:49&=$9\1&.7GBFL
MO;TSV(]][( ('XY<6+!G>4SJD."(U&4U#,I_WWXI&O5>=^)E%6UWD7MJ'APM
M9B',0(.ZHJ9L=Y'K26:3[)42-Q4>)=Y1$[.V?E/TV 6)ZJ-<Y0XS4?>A$<G.
M22;8MRQ!RWYT8Z-YS1Z[&&=\=Z48/XO&X9-6OP4,QVR$#&0CA2#!^[*/,SJ4
M!+F2D"78A8>./5A(^KZF]>^[2GZ J.\$EI9MZ7#A5#^>]2-]UA6O\+N)W/\/
M['V,FNX/;C^^^>H?]#K51- SB=D)6)V:H#@3=<_-&)1HG]KZT_L1E:O3;.1<
MT=@410/I9G?':"<Z0=G",,?N:"FJE*Z]KYT9MZ"R!AYZMB7AH2)Q*P(,>LKE
MVN[>I,L^7HDH4WOKN>%@=P?UB^AU S1F!S0"C(,:YIWEX[NI<@B$"YC)$<R%
MD2X=K9X3XH808G-W)S94P.89#&Q)-C)6;+3;?.:401X_2F8.A6U<>I:S4EHJ
MD(,!%U]=OHHL=,TDTVC4UPY&VNX.6VFC9AEGZY?DJ(6<K#:$K.)"BVI60*5M
MN[Z,<L8"*6Y7.Z+HC5 1.Q;&M*C#"6T-55;U*5RD(-$NPY9MM=5:WP9.U3F(
MVAM6I#I5*503ZM1UV/(MTS*\84(73RM%H^ZJ=X,;SRS>?C]H5R>T1E0^E45:
M(4[=RI26B)7HIZI27![E8MJK1IK)P5@GV?K^9"<3$)$-_]8U;D,&2YIA.U"R
M(KJKX$;$R\J77OM8 >1<)4PHZ), B4@ATK=E\ O)Q\[2L9-=5"AC-%.A7B(%
MW)6"LBA='[_Y&&?VR6W,T&;5R:? ?(;3G=8F6"\5?F+-<S03ZG'S+>""- 8
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
M 52(0N/1ZD>Y"+=\.5/](%5ZD@@JU^MZL<9\#KRXKTV!\D _@"=!CWB4+*H
MC'7X7FEQ+034HRI8/R0FJUE:R,"S@! L=*LR<TJX_='86=^]D_V%:)RM ^?;
M"BW;5(&"F*D'QM #]8*9.V?.C=[A&'.>.D":(F9-_C?KC@E/$5%]42]4X*HN
M/=8A4 ?#H'907Y S2_!6O5I%DB_5@.0CX/$QA%7"5JN6]$;I<1R)W%\!W:*\
M($>6#T!F%-@J0."VF71^&N; J(MB#.V5O+U>QRQ"#T3W@2,XA$2_3%)D3:\>
M5!_'*<G%4#0GOJ ^RW=6K3;)AZ4(-E;I\(V&7BX?2.]5#=3-^+8@AH]E/@4Q
ML(>&_![8J!C$"S#8.L2\*>##^=  FG.M47D,5Z;6XO4!C'$L@&I?/%@(#>78
MBU<JEG.VW>P=,MN"=7M'8PQ8A$OVO3$>M#?"$2G#5_XM@+^EM+I2!?2Z>F6$
M9QF!<](L7Q!R]=V=))V6&F >UR>9QMF$"@!5&LRPQ0.X^R9!7JX54I"/<MGN
MSIP@ISBK5#S0"\7:W.Y[R8X5_>" U>@:NLBC@]%>M?@D7O,1);Z*_3.CT+3T
M4V'GG<' IK9<0&,]E2G%!B,E(^&KV'0KUTHW>X?,P6!OQ=?NF>O[K],68^IR
MK=?T<FV452<SJ1Z1_.X.XY.<0J4&FE2+$7BI6@>NJ+(_J"'MQ+0J6CZHZ)5*
M??JEM[LS21<M@BY:+<T?-F.^JS50_659H4S#CAVV9488172<&-17.,GNM;0*
M_=T=-!6-=B_A@=)\P6EFIN6W0]]'W!DM,!M_/FZ;41M1S&LCGK<VXB"OC<AK
M(_(;=/0&;9KX/933QX;G4/;9&R)5[L,(*I:.&C$N="0P7\\RHO2[9M\%&N(\
M^_C>!>O7-ISXJ4]\VYR[SM[;9O,2"$+EZGW@A#__CSP/:$-H1M$()HD2D5@1
MD<2J.2Y@CM**D: 5^H5<@(US!X@C]IMS[%MZE$GQP/S*4N'/XS>G-T=-^D?Q
MS]<<%#,D 6O\1YEW+FE-II3Z^UIS]#%LZ O+VZ$I?'J!TDLY9Y+GG2C#1ODM
M.!43XT^8[@ZBL\T-/HR8A7AMT\(F^3+7/5VW(-_QJ11@%'34I[")DZ/:AL0Y
MZS)Y%5[#.+\5:*8K.,57);G*3'F<;-.F9%_*$<#/)(?'$%(QK]WINE3^$OEK
MQU%D^9Q@2^7^F%:,2=*8L.M3C8%JD-\"F,6=\&7XCEXP5+/F,=Q@*RD+40ZK
M8"\4FG'3-]1XXZR<6DXHQLPE3W0-C\(-6<_%2<!1H8U,8U*Y_%2GH?S33(2\
MG=&3P!&F'JD(F%,=^EQH!,IMZ%'^!;QLV$,*7,;0X8+* <5<09$0+UE((S#'
MV^"FC%1>I$C*RJY#4/-\=/CX'9FR\!9W6)"HC@B:)BDB,I-X5W^E-'E/8$MM
MB3[+4XBAQ.;TXYCL2^W$%*ZH&1EMF@<[!JXKK>H>I;'+"@=%C)Q3;(&B:JB6
M-91"@ET< RL( ^X:QEBT5(G.[LZD,@S#E\##PISO;+1IBC3/M 8^QD[DOM85
M#B*)._"*@2R0H&1OAWJC4442?:_9!QG7-B+9@O)"298,C$S<IT2-#2?N&%$_
MM#&K2>?T]0YUE4N&2C!VAK:3HBMSQ)5+127R3?9A\ AS(S#B:=ZP242(9Q*3
M4]T0R3^%=Y5:#_OFZ+QJZ X/1/4K( $HU<_!"J&(@W$G-B6#4*92AH@@AHX0
MW7&Q<Q[/P "%,+_;UW SDX<*SF%\S+_5^<R4L9;QHY8)8R:C+4>6:9AM4(X_
M*;%R+]"HPV_88%'+W4=G0>9V:LT8!M@+(O'_?BE61NVR*39[QD>S=G$BW3@\
M+/<#^X&.T0\TS\XRMY'Q[6W#UK7U\$RXRN@Y\RQ4.PN[I5^FO:O<FPM^YZ>"
MZ%0Z2-<'HM_6!Y3U.Z[U@V@+".BEI-LCKY32 C=*%G@83UD.<&NZN^+V[N[5
MD8Q]O][>/1Y2'?GV[B_GO\W=7<Y_"^[O,7?K"()F;G?*\_GKF_KZW(3S)W4R
MZ5)''/2]N-X?FM=MO2H5*GJI7,<*Z]<9BIOTR)3JOV6%@3%AA?-L)D3+2[]-
M8,.1X''FZK].6+2:'8&7F3P37LK^Q-1$@^<$7B80;2;P,I%I38"?NO*$'506
MP_R8[?0"2(^2P]8$[0N#+Y/3-A1\3I);$^ ?0_(+\NMO2[AOOO2L0&1<,DI!
MPB^I8 1'VJCCV!_3;\H,S6L:5F;D;LV_8 Y-#DT.S?9"LVK5>ESJ9<G=N.@A
M7>D@_%7C3!:QK,L1RJJ7=0'G%5?4S ;G]:HAV2O. <5OJX9"%@ZMR_'(BJ-U
M 4?6,JT+.+6IGM674/C&1=]$O]E8PG$RB71T7XNX!A_E#IR&^<564I1;+NB-
MRM@!3<A(F!>4S<,#5L/7#\:,E)\/#Z6:7JB-B8[GQ\,JOCAAQX^G_C'/S.8=
M>(7TKC&WSD]'^*5"42]6<P%0JE3U:KG\\GC8) 'P7,;;"/HX ?J%:&[,A?FX
M^T8O'53U0F',TMH,QEL.$K#^N5(8LV9^)A24@?BKXP;N%HN=\N.5K)=2.Y9S
MU"6]6"_J]=)/S?+8.A3^O_%3,WVU7M"+XV&M;6;ZQV]V;3TD5S2]U.UH5,2X
M5=X1H,]Z(;<):C6]T-A0<;U$-)3UVG@8>XN%U>/WN@5^$5A(/ZCF?I%BM:R7
M&F,)2S\='O9>'@//QOB/?O_YPMIK',G/H<FAR:'99FA68H/-MK=*?$6,= 69
M):9+C[Q:Z3W-=,.6+1[O IB\2IQ87*G.8V65GG;;K3T:"H6R7IGM#]IN-)0K
M. ACK%;M^9&PBB].V/&C-SO3REKSPX:CAN.NU&8:6=M-\S@"HH(#WGYN-,SI
M#-XFUG_\B8\Z@V7CTTWN!Z6PN;V-*[G9Z9EJ=<9#"P^-@148MG8E?#?TVLEQ
M4]&3V.(,>PM%#=,ZV.Z-ZGT'GN73O"3N.D>=(,5_(?W0Q^9TU&>.FK?!0WV!
M+>'@=XX0)@][Q3_A!'KXE$==W?QTN\B>8=*LBD+Q .SP,J5 _HJC+ MU&A2B
M5L??TP^XTIUAXTK8]PW^GNIHSKL^$FU!4V'+15TV!D^/D/OB>K?4AE.BAP<=
M'.B-6ETO%1H,1JFJ-RH5O5:L97U)F^=#ZT1O>?_]!7=(G?>)Z$(>_I+=SY!I
M1Z\AZ=0*T[O;IZD'^P[2^E&#P=8P\QN[._211KFF-PISSG(J<@O^V?!'(Y8G
MC+WQ5>M%9'?DY;8 #H3[@!N#.H&+O3MY0JH8&)89#5?3@6DZ/@ !VTJM%G@@
M1J(UU? <'7_CA7($,ZQ 83Y="QT03+:(AC73J$3XG"DZPO.2OT<^O1>V3?S*
M#6VIL8$_LGD?@.)&E+;%4L_*IV5L^ ['N97;UF9Q:U&O%T$O+L^819$Q)P.O
M.6>4K;(^Q$/;#QH5O=ZHSLVQIUD@\W +%ADT'Y5:LY*/!IN=PK7>D^,N+"<
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
M1^/D[*'6-D*?1MY9:H:CQA,?Y8P@;*4>X/RGGF%WM-:0I_W0?$=^@I;V1.C
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
M?R$OU[GJF)T& 8E'H"$B09\F_47K?HL%YG<XN&0\_@7?"+["9"VR=/\I).T
M25PWB7\>>M+R8;PA,D4JKEPPR,T17SU)MD"3/]"8>WYDS*K_PD.:.^S"\GC+
M SQY1L-+#^><18)0+,3ZKS_I5VQ68_P@ST+P;A:VN_-]0SS(5,Q3G.<2@68P
MSL^27S<G1[<U=FY-[8AUW_B+;OTLF '"4PMU!2NR4+=)82&FTD@?ABC!..B;
M^#BS?B.9L\/:Q8/$-(#I*1Z"52O)^3]9C^R;B)RU+CZU4Z<8(S:5]TB?**T+
MDU.-$21"")3-[-V=S5D$5%J!PC =A<<<5@VPELIG'=75SEIT!3V0PEPR4S^T
M9BL42C,@-] X:QODY%P7H5 =/3.J7_X3IS*^2Z='29;_G=':C[LS[CS&QA1"
M2WZ*P54).H,9H?CS>36NS#3IV6I-DIQ&G$(P!HD)MSA0J1@L+H=::6A<9( \
ME_ _&FB?,)G-)0Y.8:6*9NIL%%(M07S]A[6?"\Q-C7[#[+],GN!T .J/6$A]
M0JA^WN_#QS%311</ZD:)4 :JZPV15#^/4'_I_31913Z3$YY.G8WNB7_R(7_G
M1$4/;WTA(AR<1VK#(.YL<>A!KJD?X:2S,T:C]3"Q&\__._IO,5E,(BYT\15X
M)[S$^HV*]1\:2[?@-A,ZFW"FYQB#Z7B.];GA8)KN))HG\=O0NK#1HGXH#UE2
MZ92J5.B"HCW,I9*TQ:;U=J0N&*7G[R%G/L:!R(8VB'9U" )S4';G?S/=M\U.
M2L[3W!/2*EYRME#CEPK,P50/9[E+0Q825Z/?HK4:C^,,= L3"\2N&GO#1C"[
MA+CNVG)-[>\;4.\Z\8^]X./_ %!+ P04    "  :2!-5- TXAH$1  "2X@
M%0   '9T<VDM,C R,C V,S!?8V%L+GAM;.U=ZV_;.!+_?L#]#[HL<.A^<!,G
M;7>;;6^1YE$$2.,@27?O/BT8B8Z)RJ)+2GG<7W\D+3F2*+YLR62!*Q;;-N6,
M9N8WFAF^1A]^?YJGT0,D%.'LX\[X]=Y.!+,8)RB[_[CS]69T='-\?KX3T1QD
M"4AQ!C_N9'CG]W_]_6\1^_7A'Z-1=(9@FAQ&)S@>G6=3_%MT">;P,/H,,TA
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
MUZ2/ML=IR= U&*TR^@[LM_G(U2)O5ZO%:-Y1B.)8K$9\=1I/A#47O/ -SGF
M[H(P2%8+D[[NV_A*NW*?IDE*\;<@"N;I7+# #+/8RQD+I]U5>]Z8Z="24[6K
MV<SMXJ<TS._*#5VVES\B<0,-&W?9B42Y(\D^/4YFF!ZEE >_-YD737MN5S[N
MEL:97VHL@H2X91_;=-!KD'89W3)EU[2?CJ-?INPWZ*KM41SM_)FBD)D6[(M-
MS?B^J$"3(:W74S>[-E/%Z_<@XQ=1+V>YKG&1!>"$-C\HYD>S[P5G,]8%]=([
MO.,';&#PH_I7H^Q#19TL>PFB9)<UW<W:[-9VT#W?RX_M^&2. D.FJ]0]<"R^
MM#/'\SM^6&W$;IFT>UY1&)IQ* BZYRLBR8$I:SE-KV,23U :)HT'94Y>YIG]
MFCFP?)4[9S^6^,9/"8Y\[.><\P[U<BJ2(.%-LWR8O=$.3YY)N8U@_\Q:=L-&
M?=Y$B9U]QL/R>)O].R,993096SEC(?%*W(0\I870*IIQ#L,$Q7<"BS3>F2)T
MO\M7[5T<)G'^&[&."W2S7]PN^6'2XS/VSR7O(;K#H?CL;=:XKNVN7:YOBB>'
M$HZS=NO<KL _H#G?V0#67"46L^:+Q[P/-EQ.0O$U-O/PM'C"/:%DKE1EIC8B
ME:"H6\;(JQ&AS S_]FKOS8J7D,38_^U5PAQ]ZP")O?=X(ER&@Z= 9W1525J%
MK=;$JV J:Q^ ")*U!BU;N!19/,Z<!0B0NK:M(E'U6U0P@!HF2LXA*/;?#!.+
MV[T:QMN"([?8FZYNC?$2TD&0O;4'&=MRDDBP>_ M\U]!R"IM;^O&VF:0E5UI
M  [)=" Z+(-3Q]XRMF+TT "'K.WMN^'@4&09PN&=-1RR(/I=S%QA+X$Q*+>[
M_6A'_]I.5PV[D.ZM+44+'K.XK2X":\UM 0'KMPZ'.J;=<ZQ0/.-12/9_/"3V
M@$(1ETR.$*7/0305=S4DBY0.N5VX)#"0AK* AL7:I%ID1,17V,.,<>;S7^ D
M$UPRMR14 \%,*0+HB]F":IEU<8$ET!1;#02*"LN@V;>E^N_171"&V%\-EE@Y
M1V":@<"B$  "Z;TMD"XIOD=!?M";G_.6A(;1TB >"&RZDD#X?7#"O]/TZP:"
MB;[V/]K5_@6)/#,'NTHQ#!\;X!O"Y9.]56V1#'@9\OS50D:@U N04=G%1Z[W
M]:5,(06$UF=;:&478J.IR :["J:S9#SY'I?OW%7ADI(-!R^U&++#'%M>=2DC
M-&9#Z^3)"U->7N$K(?YC$(8P<#K4P\%/6QH01FO1B&-\3^* +?]K0L/0013#
M@4LJ 0B1M5!#P0_5P:>V^7# @=D'D;$663C&$\SX\\\BC\SQ#7I:3G_9](%H
MAH.10@80*&MQ"/W9,]R)8S9GK$4;%FRJ !C&7DBN8FL!@4)N/K_&5\G!56]1
M=7MP_GS.2! 026O!A0+[VN=W,(TMM)J  ,)H=,9G+?J0GY)D=SRT#X;*[1T
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
M"_#DY E[*7>;%X\M4;;\B-^/V7K)F(RFV>_E10G->^H['V>#:4<V%K3M51@
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
M&=R81MZWZS?"'O<%2F$0I'%!J.TM^DJHTPK$HY,L8Q'J'5[GU$2?H9AOUJA
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
M^D RLJI6#=]OH\UJ'QLD]Q@#R?DF)H8^]@+"1#RNAJD#'9LV&/9.AFPB;9M
MY"Q?\0PBV\V4[?'5L[P P-YQUA3)<-9YW91+3)595-IQ],14.B]]2<@,._OY
M0*;$.R][ YC6=!"S7%I<F[)'M#;Q!M24!BHRVGH;GAID8D^A4@G3-^C!JWL#
M61X,8QU FOC'#Z(58)*V;(UI9^9QTN^+Q$&XFW6=)J2^9LPM#M]'P6&H^M(/
MH2;TKJ4"I/T+33$WCNSXMRI*V<B5N6A1)&K*/-2$#QLLI%RZB$0J.#8TR2ES
M_,UJK')D;U/Q-RGC!GX[S6*6#\ZU"2 E%G5:HD./MGH'(L[%<XGY+;;WF#Z2
M&/,"FOUO1#K;X:+@C31.P#O*&*6A+#D[(PW.FGK+&OF=P<SGY1-SI#RS1O<C
MW\/+(M#[&&<1);F21Y.+\'>AYF[&;2_5G*8/BGV[80_.QZNL**,T;<^"SFA$
M^-8*E85:46_\LH#M>*21 \47,\;@O+AF'C0KZFN-[_)-E);FF,@L[XTA+K [
MFIB$07'% >A^"'/ \54#]Y+]V!Y4^9F4RW8+]\5SG%8)-[$H^.I ,HN>50.J
M'8KY]1V4RMR'$> K^B,NZWW2UWFA/$(\$/CU'[U63HFIN6K4X/2;P0-]Y)\Q
M62Q+G)PPMD4+_+%:/6#:C,R+FZHL^.D=QB"QTU)5"9,*\-R"3+,0N^&6#BHU
MI:"H+@;%]7;^0DPXY-MB#A9UQ13S=<DHK0\2U/A/RI*2AZH4LR9Y?T)%'4%,
M+L1CI+:C@;T8;F()P2GZ(MCR95!=.:@012#^>5N&VJ?$_#N?9C>WU!0GN!]=
M$? =D!7YSBX()771@)8*FC.A5]D\IRLQ@A$3O=:)8ZU>F(E^BQGJ>7R-$AA^
MNB*U;"/FFJBGBGX1RN$3ULE679,,7Y5XI4NH8]3PO(?=!GVT>5TG#H9M=HR*
M.V-E;G$E)+2,!/LRAZ?O88V 7F*")@5.<*<AG4"_Q93_P/K=MYK/8%8)FA%
M =Z8$J G#\9Q.("T)@6(ZZ0 E&D'\AJJ!M)M9&UV$VFJR*H';]IJ$FIMWIFD
MR3MSA.):);AW:!<.1ZE.FKL+-1_#IN0U68.3 8-<#48-,%[""::44[Y10D_=
MZF]PBAF;SC#!W.\XV:7]*0KQW$GM8*"S3Y1* $/1G6#K4@723C \8Z-B>7E^
M=7:5\7VVR<F*[]+5?0.UK%?^F> .:*82A,,F [HQ:;@<(K4@BH0D"-9\RH@C
M9R1)WXS10!WS920&BBUJ;%+JVU8*Q4Q'K!2*/_!O%7F,4A GI+JL"3_G]/-5
MQOI\OI3)E[RCIP\1&[>2*-7-\3CJ^N37)'/ZC'-2!,/!*6BE;B]Z0JM61I#R
MB17"?!I:U\7 X>1/45K58U5<8/JHS=YM4@C"/BUP)>4D:3\\^[[F6<9S8>'$
M- :U(I5#*_$XT 1!!_<C5O8N_>>>!_QE7D:ITZ?N8QM_WADOA;58* EO!LL?
MFH0JKFM51O5@2U8.1FE7K@RZ8#J4B8 5ZPM"Z0@)M6$F'$BK6&K3KNV+659%
M$'F9)$.<\C)=0USA<H,ZD8C7;DM>8=GX(^WMX7/],(T2"!8.#'!BH-" S[X^
M3'6?O.[G L-@<H&=Q'$E=JSBY!RO*8Z)B.+8WREN]L*SD2PMFXNEM!] \\'V
M5[SG[ %[_2BCO %[*1O:2&#/=HT;$<]1\P/JO80O7'5OJ?=:]XH/-+[06J49
M;YCDH8T_G+#J>MVAUSM"V<LSQNWCAI2.0!J;AR*>;T.1P(WN0.F>@^D>%:"D
M"W/ZK1;7.3^",V$[QKDD&2GQ-7G$R3A;HMLXU5Y F)&JJV'JL:I-&PP#)T,V
M9C 311R+,J2$EP68P:O!4MOPU4W5)V.G&-/GJHL>&)9. "NM,EHX"6D<:S#3
M-)*UJP$AI'8T:]-Y#42TCVC)EGV14(%,N-[(H3\,F?Y=M 4!(:7%4$>::DJ!
M-NC<V0+5\)(?UNU&EP &DV.+V#BKV^W=YNU6+V+9]: -+B=AE@_GC1P1C/%E
MGW9R\G7=-(I%R>LTF),!@\DMHP:8;L\)YIAE?24^.AAW?X&\Q#!M\QT_Q7@S
M_]0D,5?5D5'!LU]@4$B>W)<1+4W>P0WRN,(Z+92*W-.4ZQWG\^.JV#J*![P@
M668Y6AZJ^OJ4:_*C3JY111F^*MF]']_9 E,CA5BCTQNDW^-H=8.\R':O+>WA
MLWK0D%L;Y1'"UEP/WJK/Y?2062.(1YU4@<YGAL8.-6T5CU"Q9.WNN,1T!:O:
M/C+-R36W57I%E:< /:'^TCQ;6*O/2]2L,6_:Q_ ;)UL@.S#NU;#,Z-N'K()P
MSLMXLTE[%\D=7D4D2WC:D$M2Q%'Z-QQ1S6=Y28%@;K5Q,MSY<AMC:6"&?"\V
M84QYSK77P>_S"G_$S^7L":>/^$.>E4O=Y,/NQ8'CML'HR<Q6E/6Z>*TW0,'J
M]Z^&U;QUSI[R%WZ9KA2('!Z9N MUFR)>'6.'N!5$_<=70]07?@F8U'P))V$M
M/DQ$;0I^UU#NMS/:]"E+6'C#SZ?BY.)9'! TG0W>L2PPI+69Z\Q@74'0IE-?
M8H1ZXRU9K7G20[[H@1EH&(L=.XVTX:2NM"%TGKX)[FQ:'WF9TSO]60!)RNN1
M%#7$P6;LH0@8GJAQR0=KL[+=4!N^^VEN];N/THCG/A_-GH^78S7"GH]\& "/
M#G H),&PQ0A/VNW:2-6'_:,%^VL-Y":\QHZ+U3K--QB?X@S/2>G&)*U2 $99
M#% P2Z,!C6%FF%(6L$8:/33BT(CV4U3?S>Y$,$DX +$T@!6$&DE"(Y(:GK2R
MW]P3NXY(@DJRXCOTY^CKV]G--\$I=([GF&$?W+_(DP&)2QE/>-:[A4@>7^B6
MDT<?Y@7E^3VC]$*SAP>:=BP,#)U?:H'B[!QSE.*Z 1[T._C+ ]9UZ[^;>]![
M5S(;ZM2J!&T;JCM@]210U#BI>'Q]/&VNCX]!7!^OSM]YED9%(6YZ-7LG9^T
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
M]MIJ26^4,D/M14$J,5BD,6)41#^U-(S(1R3BTWS[WC-8'UP&-O[*=7[!L*L
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
MTD#$?T1=>&AT1(+\9D[B6+@K@@1DY:KR0-A_PH1=KZ<'P,MP@U,^M<"QKXD
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
M8BM[WP=C]K[1/[:J^)\OV?P&TNPEF]]+-K^7;'XOV?Q>LOD-2L-+-C_[$=5
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
MM:TK##YZ04^29%9WN!%<V@ ,84515"^T*[Y:5=%W,P>366# 9\EL%RT\R#"
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
M% ,4    "  :2!-5'\N^:K('   ),   "@              @ $     97@S
M,2TQ+FAT;5!+ 0(4 Q0    ( !I($U6TQ=:-P0<  '8S   *
M  "  =H'  !E>#,Q+3(N:'1M4$L! A0#%     @ &D@35=NDJYN;!P  M"\
M  H              ( !PP\  &5X,S$M,RYH=&U02P$"% ,4    "  :2!-5
MA?*>$,P$  "H(   "@              @ &&%P  97@S,BTQ+FAT;5!+ 0(4
M Q0    ( !I($U7W61)P&R(! %F_#@ ,              "  7H<  !F;W)M
M,3 M<2YH=&U02P$"% ,4    "  :2!-5*F\M%(P-  "IA@  $0
M    @ &_/@$ =G1S:2TR,#(R,#8S,"YX<V102P$"% ,4    "  :2!-5- TX
MAH$1  "2X@  %0              @ %Z3 $ =G1S:2TR,#(R,#8S,%]C86PN
M>&UL4$L! A0#%     @ &D@356&E?WR_*   1+," !4              ( !
M+EX! '9T<VDM,C R,C V,S!?9&5F+GAM;%!+ 0(4 Q0    ( !I($U6=YUZ]
M\5(  (&Z!  5              "  2"' 0!V='-I+3(P,C(P-C,P7VQA8BYX
M;6Q02P$"% ,4    "  :2!-564).EKLX  "IMP, %0              @ %$
MV@$ =G1S:2TR,#(R,#8S,%]P<F4N>&UL4$L%!@     *  H 90(  #(3 @
!  $!

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