<SEC-DOCUMENT>0001654954-24-006391.txt : 20240515
<SEC-HEADER>0001654954-24-006391.hdr.sgml : 20240515
<ACCEPTANCE-DATETIME>20240515160134
ACCESSION NUMBER:		0001654954-24-006391
CONFORMED SUBMISSION TYPE:	8-K
PUBLIC DOCUMENT COUNT:		17
CONFORMED PERIOD OF REPORT:	20240515
ITEM INFORMATION:		Results of Operations and Financial Condition
ITEM INFORMATION:		Financial Statements and Exhibits
FILED AS OF DATE:		20240515
DATE AS OF CHANGE:		20240515

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			TOMI Environmental Solutions, Inc.
		CENTRAL INDEX KEY:			0000314227
		STANDARD INDUSTRIAL CLASSIFICATION:	INDUSTRIAL ORGANIC CHEMICALS [2860]
		ORGANIZATION NAME:           	08 Industrial Applications and Services
		IRS NUMBER:				591947988
		STATE OF INCORPORATION:			FL
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		8-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-39574
		FILM NUMBER:		24950149

	BUSINESS ADDRESS:	
		STREET 1:		8430 SPIRES WAY
		CITY:			FREDERICK
		STATE:			MD
		ZIP:			21701
		BUSINESS PHONE:		8005251698

	MAIL ADDRESS:	
		STREET 1:		8430 SPIRES WAY
		CITY:			FREDERICK
		STATE:			MD
		ZIP:			21701

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	Ozone Man, Inc.
		DATE OF NAME CHANGE:	20071130

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	RPS GROUP INC
		DATE OF NAME CHANGE:	19940818

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	DAUPHIN INC
		DATE OF NAME CHANGE:	19940818
</SEC-HEADER>
<DOCUMENT>
<TYPE>8-K
<SEQUENCE>1
<FILENAME>tomz_8k.htm
<DESCRIPTION>FORM 8-K
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html 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:currency="http://xbrl.sec.gov/currency/2023" xmlns="http://www.w3.org/1999/xhtml" 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" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:us-roles="http://fasb.org/us-roles/2023" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:srt-types="http://fasb.org/srt-types/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:srt="http://fasb.org/srt/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:tomz="http://tomz.com/20240515"><head><title>tomz_8k.htm</title><!--Document Created by XBRLMaster--><meta http-equiv="Content-Type" content="text/html"/></head><body style="text-align:left;font:10pt times new roman"><div style="display:none;text-align:left;font:10pt times new roman;" id="XBRLDIV"><ix:header><ix:hidden><ix:nonNumeric name="dei:EntityCentralIndexKey" contextRef="From2024-05-15to2024-05-15" id="ixv-287">0000314227</ix:nonNumeric><ix:nonNumeric name="dei:AmendmentFlag" contextRef="From2024-05-15to2024-05-15" format="ixt:booleanfalse" id="ixv-288">false</ix:nonNumeric></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="tomz-20240515.xsd"/></ix:references><ix:resources><xbrli:context id="From2024-05-15to2024-05-15"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000314227</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2024-05-15</xbrli:startDate><xbrli:endDate>2024-05-15</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="USD"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:unit id="Shares"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:unit id="USDPShares"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit></ix:resources></ix:header></div><table style="font-size:1px;width:100%"><tbody><tr><td style="BORDER-BOTTOM: 5px solid;"/></tr><tr><td style="BORDER-BOTTOM: 2px solid;"/></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>UNITED STATES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>SECURITIES AND EXCHANGE COMMISSION</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Washington, D.C. 20549</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span style="font-size:18pt">FORM <ix:nonNumeric name="dei:DocumentType" contextRef="From2024-05-15to2024-05-15" id="ixv-308">8-K</ix:nonNumeric></span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>CURRENT REPORT</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Pursuant to Section 13 or 15(d) of the</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Securities Exchange Act of 1934</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Date of Report (Date of earliest event reported): <strong><ix:nonNumeric name="dei:DocumentPeriodEndDate" contextRef="From2024-05-15to2024-05-15" format="ixt:datemonthdayyearen" id="ixv-309">May 15, 2024</ix:nonNumeric></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><table style="border-spacing:0;font-size:10pt;text-align:left;margin-left:auto;margin-right:auto;width:60%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: #000000 1px solid;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span style="font-size:18pt"><ix:nonNumeric name="dei:EntityRegistrantName" contextRef="From2024-05-15to2024-05-15" id="ixv-310">TOMI Environmental Solutions, Inc.</ix:nonNumeric></span></strong></p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(Exact name of registrant as specified in its charter)</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><table style="border-spacing:0;font-size:10pt;text-align:justify;margin-left:auto;margin-right:auto;width:85%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;width:30%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><ix:nonNumeric name="dei:EntityIncorporationStateCountryCode" contextRef="From2024-05-15to2024-05-15" format="ixt-sec:stateprovnameen" id="ixv-311">Florida</ix:nonNumeric></strong></p></td><td style="width:5%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:30%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><ix:nonNumeric name="dei:EntityFileNumber" contextRef="From2024-05-15to2024-05-15" id="ixv-312">000-09908</ix:nonNumeric></strong></p></td><td style="width:5%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:30%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><ix:nonNumeric name="dei:EntityTaxIdentificationNumber" contextRef="From2024-05-15to2024-05-15" id="ixv-313">59-1947988</ix:nonNumeric></strong></p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(State or other jurisdiction of incorporation)</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(Commission File Number)</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(I.R.S. Employer Identification No.)</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;text-align:justify;margin-left:auto;margin-right:auto;width:60%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;width:100%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><ix:nonNumeric name="dei:EntityAddressAddressLine1" contextRef="From2024-05-15to2024-05-15" id="ixv-314">8430 Spires Way</ix:nonNumeric></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><ix:nonNumeric name="dei:EntityAddressCityOrTown" contextRef="From2024-05-15to2024-05-15" id="ixv-315">Frederick</ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressStateOrProvince" contextRef="From2024-05-15to2024-05-15" format="ixt-sec:stateprovnameen" id="ixv-316">Maryland</ix:nonNumeric> <ix:nonNumeric name="dei:EntityAddressPostalZipCode" contextRef="From2024-05-15to2024-05-15" id="ixv-317">21701</ix:nonNumeric></strong></p></td></tr><tr style="height:15px"><td style="width:100%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(Address of principal executive offices) (Zip Code)</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;text-align:justify;margin-left:auto;margin-right:auto;width:60%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;width:100%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>(<ix:nonNumeric name="dei:CityAreaCode" contextRef="From2024-05-15to2024-05-15" id="ixv-318">800</ix:nonNumeric>) <ix:nonNumeric name="dei:LocalPhoneNumber" contextRef="From2024-05-15to2024-05-15" id="ixv-319">525-1698</ix:nonNumeric></strong></p></td></tr><tr style="height:15px"><td style="width:100%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(Registrant's telephone number, including area code)</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;text-align:justify;margin-left:auto;margin-right:auto;width:60%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;width:100%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Not Applicable</strong></p></td></tr><tr style="height:15px"><td style="width:100%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(Former name or former address, if changed since last report)</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Check the appropriate box below if the Form 8-K filing is intended to simultaneously satisfy the filing obligation of the registrant under any of the following provisions (<em>see</em> General Instruction A.2. below):</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><ix:nonNumeric name="dei:WrittenCommunications" contextRef="From2024-05-15to2024-05-15" format="ixt-sec:boolballotbox" id="ixv-320">&#9744;</ix:nonNumeric> Written communications pursuant to Rule 425 under the Securities Act (17 CFR 230.425)</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><ix:nonNumeric name="dei:SolicitingMaterial" contextRef="From2024-05-15to2024-05-15" format="ixt-sec:boolballotbox" id="ixv-321">&#9744;</ix:nonNumeric> Soliciting material pursuant to Rule 14a-12 under the Exchange Act (17 CFR 240.14a-12)</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><ix:nonNumeric name="dei:PreCommencementTenderOffer" contextRef="From2024-05-15to2024-05-15" format="ixt-sec:boolballotbox" id="ixv-322">&#9744;</ix:nonNumeric> Pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act (17 CFR 240.14d-2(b))</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><ix:nonNumeric name="dei:PreCommencementIssuerTenderOffer" contextRef="From2024-05-15to2024-05-15" format="ixt-sec:boolballotbox" id="ixv-323">&#9744;</ix:nonNumeric> Pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act (17 CFR 240.13e-4(c))</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Securities registered pursuant to Section 12(b) of the Act:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;width:32%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Title of each class</strong></p></td><td style="width:2%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:32%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Trading Symbol(s)</strong></p></td><td style="width:2%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:32%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Name of each exchange on which registered</strong></p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><ix:nonNumeric name="dei:Security12bTitle" contextRef="From2024-05-15to2024-05-15" id="ixv-324">Common Stock, $0.01 par value per share</ix:nonNumeric></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><ix:nonNumeric name="dei:TradingSymbol" contextRef="From2024-05-15to2024-05-15" id="ixv-325">TOMZ</ix:nonNumeric></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><ix:nonNumeric name="dei:SecurityExchangeName" contextRef="From2024-05-15to2024-05-15" format="ixt-sec:exchnameen" id="ixv-326">Nasdaq</ix:nonNumeric> Capital Market</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Indicate by check mark whether the registrant is an emerging growth company as defined in Rule 405 of the Securities Act of 1933 (&#167;230.405 of this chapter) or Rule 12b-2 of the Securities Exchange Act of 1934 (&#167;240.12b-2 of this chapter).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Emerging growth company&#160;&#160;<ix:nonNumeric name="dei:EntityEmergingGrowthCompany" contextRef="From2024-05-15to2024-05-15" format="ixt-sec:boolballotbox" id="ixv-327">&#9744;</ix:nonNumeric></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">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&#160;13(a) of the Exchange Act.&#160;&#9744;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="font-size:1px;width:100%"><tbody><tr><td style="BORDER-BOTTOM: 2px solid;"/></tr><tr><td style="BORDER-BOTTOM: 5px solid;"/></tr></tbody></table><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="TEXT-INDENT: 0px;"/></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td>&#160;</td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Item 2.02</strong> <strong>Results of Operations and Financial Condition.</strong></p><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">On May 15, 2024, TOMI Environmental Solutions, Inc. issued a press release regarding its financial results for the first quarter ended March 31, 2024. A copy of the press release is attached to this Current Report on Form 8-K as Exhibit 99.1. No additional information is included in this Current Report on Form 8-K.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The information included in this Current Report on Form 8-K, including the exhibit hereto, shall not be deemed &#8220;filed&#8221; for purposes of, nor shall it be deemed incorporated by reference in, any filing under the Securities Act of 1933 or the Securities Exchange Act of 1934, except as expressly set forth by specific reference in such a filing.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Item 9.01 Financial Statements and Exhibits.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">(d) Exhibits</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">See the Exhibit Index below, which is incorporated by reference herein.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: #000000 1px solid;width:10%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Exhibit No.</strong></p></td><td style="width:2%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: #000000 1px solid;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Description</strong></p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="tomz_ex991.htm">99.1</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><a href="tomz_ex991.htm">Press Release date May 15, 2024</a></p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">104</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Cover Page Interactive Data File (embedded within the Inline XBRL document)</p></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">2</p></td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td>&#160;</td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>SIGNATURES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">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 hereunto duly authorized.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2" style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>TOMI ENVIRONMENTAL SOLUTIONS, INC.</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="width:50%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:3%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:35%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:12%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Date: May 15, 2024</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">By:</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">/s/ Halden S. Shane</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Name: Halden S. Shane</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Title: Chief Executive Officer</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">3</p></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-99.1
<SEQUENCE>2
<FILENAME>tomz_ex991.htm
<DESCRIPTION>PRESS RELEASE
<TEXT>
<html><head><title>tomz_ex991.htm</title><!--Document created using EDGARMaster--></head><body style="TEXT-ALIGN: justify; FONT: 10pt times new roman"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>&nbsp; EXHIBIT 99.1</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><img src="tomz_ex991img1.jpg"></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>TOMI ENVIRONMENTAL SOLUTIONS, INC. </strong><strong>REPORTS FIRST QUARTER 2024 FINANCIAL RESULTS </strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">FREDERICK, MD, May 15, 2024 &#8212; TOMI Environmental Solutions, Inc.<sup style="vertical-align:super">&#174;</sup> (&#8220;TOMI&#8221;) (NASDAQ: TOMZ), a global company specializing in disinfection and decontamination utilizing its premier Binary Ionization Technology (BIT) platform through its SteraMist brand of products, today announced its financial results for the first quarter ended March 31, 2024.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">TOMI Chief Executive Officer, Dr. Halden Shane, stated, &#8220;Although revenue was below expectation in the first quarter, we saw continued growth in our sales pipeline, as well as an increase in demand for our CES systems and iHP corporate service.&nbsp; In addition to the $1,100,000 in sales for the quarter, our sales backlog at the end of the quarter was $900,000 which we expect will primarily be recognized in the second and third quarters of 2024. We&#8217;re seeing positive signs throughout the marketplace, particularly in the pharmaceuticals and healthcare sectors, where we&#8217;re seeing increased pipeline activity.&nbsp; </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#8220;One of the notable wins in the first quarter was a notification from the Department of Homeland Security that our SteraMist technology has been included in their Science and Technology Directorate Budget overview. The department expects to purchase 16 SteraMist Environment Systems for the amount of approximately $2,000,000 to support the decontamination of the Plum Island Animal Disease Center.&nbsp; In addition, TOMI has recently received notification from a U.S. based multinational pharmaceutical company that two of the Company&#8217;s CES systems, delivered in 2022, have finally been qualified for use.&nbsp; Additional CES Systems operating in the marketplace is important for the positive long term growth and evolution of our business model as these systems tend to be meaningful consummers of our BIT solution.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#8220;In the first quarter we continued to develop our government relationships. This quarter TOMI was invited to submit a proposal and apply to the Department of Defense to participate in a $3,000,000 grant in connection with mitigation of the residual effects of ethylene oxide. We recently submitted our proposal and are currently waiting for a decision.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#8220;We are off to a solid start in 2024 and will continue to focus on executing our strategies to grow revenues, expand business development and deliver improved results and value for our shareholders,&#8221; Dr. Shane concluded.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-ALIGN: center; TEXT-INDENT: 0px;">1</td></tr> <tr style="height:15px"> <td><p style='page-break-after: always'></p></td></tr> <tr style="height:15px"> <td>&nbsp;</td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Financial Results for the three months ended March 31, 2024, compared to March 31, 2023</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:4%;vertical-align:top;"> <p style="margin:0px"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;">Total net revenue was $1,114,000 compared to $1,582,000.</td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="margin:0px"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;">Gross margin was 60.2% compared to 59.5%.</td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="margin:0px"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;">Operating loss was ($1,226,000), compared to ($1,188,000).</td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="margin:0px"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;">Net loss was ($1,310,000) or ($0.07) per basic and diluted share, compared to ($1,187,000) or ($0.06) per basic and diluted share.</td></tr></table>&nbsp; <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Balance sheet highlights as of March 31, 2024</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:4%;vertical-align:top;"> <p style="margin:0px"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;">Cash and cash equivalents were approximately $1.1 million.</td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="margin:0px"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;">Working capital was $6.6 million.</td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="margin:0px"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;">Shareholders&#8217; equity was $7.1 million.</td></tr></table>&nbsp; <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Recent Business Highlights: &nbsp;</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;text-align:justify;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:4%;vertical-align:top;"> <p style="margin:0px"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;">Overall sales volume and sales order activity for the first quarter of 2024 amounted to $2,000,000 which consisted of approximately $1,100,000 in recognized revenue and an approximate sales backlog of $900,000 at the end of the quarter.</td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="margin:0px"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;">Continued growth in demand for CES with the signing of a new contract for a SteraMist iHP Custom Engineered System (CES) installation with a California-based life sciences company. The contracted iHP Custom Engineered System (CES) is valued at approximately $600,000. This system, featuring six applicators, will be integrated into a clinical suite, and is expected to be fully installed by the end of the third quarter in 2024.</td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="margin:0px"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;">Informed by the Department of Homeland Security that 16 SteraMist Environment Systems, totaling approximately $2,000,000, have been allocated from their Science and Technology Directorate Budget for decontamination support at the Plum Island Animal Disease Center</td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="margin:0px"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;">Continued increase in demand for our SteraMist iHP service where we saw quarter over quarter growth of 21%. For the three months ended March 31, 2024 and 2023, our iHP service revenue was $371,000 and $306,000, respectively.</td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="margin:0px"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;">Expansion in its SteraMist iHP Corporate Service contracts with the addition of new partners including the University of Texas and Rising Pharmaceuticals reaffirming its position as a leading provider of decontamination services to corporate clients in the life sciences industry.</td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="margin:0px"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;">Recently received notification from a U.S. based multinational pharmaceutical company that two CES systems delivered in 2022 have been qualified. As previously announced, the expected annual BIT Solution revenue of the systems could amount to $250,000 once in use.</td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="margin:0px"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;">Attended and presented our SteraMist brand of products at various tradeshows, most notable were Maryland Tech Council Event: Technology Transformation Conference, National Air Duct Cleaners of America Conference, AORN Surgical Expo, NFMT + Clean Building Expo, Indoor Ag-Con + Grocery and PDA Annual Meeting.</td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="margin:0px"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;">Received the Gold Safety Award from Highwire in recognition of strong safety practices and performance.</td></tr></table>&nbsp; <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-ALIGN: center; TEXT-INDENT: 0px;">2</td></tr> <tr style="height:15px"> <td><p style='page-break-after: always'></p></td></tr> <tr style="height:15px"> <td>&nbsp;</td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Conference Call Information</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">TOMI will hold a conference call to discuss first quarter 2024 results at 4:30 p.m. ET today, May 15, 2024. </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">To participate in the call by phone, dial (844) 369-8770 approximately five minutes prior to the scheduled start time and request the "TOMI Environmental Solutions first quarter earnings call." International callers please dial (862) 298-0840. To access the live webcast or view the press release, please visit the Investor Relations section of the TOMI website or register at the following link: https://www.webcaster4.com/Webcast/Page/2262/50600. </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">A replay of the teleconference will be available until Wednesday, May 29, 2024, and may be accessed by dialing (877) 481-4010. International callers may dial (919) 882-2331. Callers should use replay access code: 50600. A replay of the webcast will be available for at least 90 days on the company&#8217;s website, starting approximately one hour after the completion of the call.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>TOMI&#8482;&nbsp;Environmental Solutions, Inc.: Innovating for a safer world&#174;</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">TOMI&#8482;&nbsp;Environmental Solutions, Inc. (NASDAQ:<u>TOMZ</u>) is a global decontamination and infection prevention company, providing environmental solutions for indoor surface disinfection through the manufacturing, sales and licensing of its premier Binary Ionization Technology&#174;&nbsp;(BIT&#8482;) platform. Invented under a defense grant in association with the Defense Advanced Research Projects Agency (DARPA) of the U.S. Department of Defense, BIT&#8482;&nbsp;solution utilizes a low percentage Hydrogen Peroxide as its only active ingredient to produce a fog of ionized Hydrogen Peroxide (iHP&#8482;). Represented by the SteraMist&#174;&nbsp;brand of products, iHP&#8482;&nbsp;produces a germ-killing aerosol that works like a visual non-caustic gas.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">TOMI&nbsp;products are designed to service a broad spectrum of commercial structures, including, but not limited to, hospitals and medical facilities, cruise ships, office buildings, hotel and motel rooms, schools, restaurants, meat and produce processing facilities, military barracks, police and fire departments, and athletic facilities.&nbsp;TOMI&nbsp;products and services have also been used in single-family homes and multi-unit residences.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">TOMI&nbsp;develops training programs and application protocols for its clients and is a member in good standing with The American Biological Safety Association, The American Association of Tissue Banks, Association for Professionals in Infection Control and Epidemiology, Society for Healthcare Epidemiology of America, America Seed Trade Association, and The Restoration Industry Association.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">For additional information, please visit&nbsp;https://www.steramist.com/ or contact us at&nbsp;<u>info@tomimist.com</u>.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-ALIGN: center; TEXT-INDENT: 0px;">3</td></tr> <tr style="height:15px"> <td><p style='page-break-after: always'></p></td></tr> <tr style="height:15px"> <td>&nbsp;</td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Forward-Looking Statements</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">This press release contain forward-looking statements that are based on current expectations, estimates, forecasts and projections of future performance based on management&#8217;s judgment, beliefs, current trends, and anticipated product performance. These forward-looking statements include, without limitation, ability to accelerate revenue; financial performance and operating results for 2024; upcoming launch of new products; expected growth in sales pipeline and market demand; revenue opportunities of CES products and brand recognition of our products. Forward-looking statements involve risks and uncertainties that may cause actual results to differ materially from those contained in the forward-looking statements. These factors include, but are not limited to, our ability to acquire new customers and expands sales; our ability to maintain and manage growth and generate sales, our reliance on a single or a few products for a majority of revenues; the general business and economic conditions; and other risks as described in our SEC filings, including our Annual Report on Form 10-K for the fiscal year ended December 31, 2023 filed by us with the SEC and other periodic reports we filed with the SEC. The information provided in this document is based upon the facts and circumstances known at this time. Other unknown or unpredictable factors or underlying assumptions subsequently proving to be incorrect could cause actual results to differ materially from those in the forward-looking statements. Although we believe that the expectations reflected in the forward-looking statements are reasonable, we cannot guarantee future results, level of activity, performance, or achievements. You should not place undue reliance on these forward-looking statements. All information provided in this press release is as of today&#8217;s date, unless otherwise stated, and we undertake no duty to update such information, except as required under applicable law.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-ALIGN: center; TEXT-INDENT: 0px;">4</td></tr> <tr style="height:15px"> <td><p style='page-break-after: always'></p></td></tr> <tr style="height:15px"> <td>&nbsp;</td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;width:100%;text-align:left;font:10pt times new roman" cellpadding="0"> <tr style="height:15px"> <td colspan="9" style="vertical-align:top;"> <p style="MARGIN: 0px; text-align:center;"><strong>TOMI ENVIRONMENTAL SOLUTIONS, INC.</strong></p></td></tr> <tr style="height:15px"> <td colspan="9" style="vertical-align:top;"> <p style="MARGIN: 0px; text-align:center;"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS</strong></p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="hdcell" colspan="2" style="width:9%;"></td> <td style="white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="hdcell" colspan="2" style="width:9%;"></td> <td style="white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td style="vertical-align:bottom;"> <p style="MARGIN: 0px; text-align:center;"><strong>ASSETS</strong></p></td> <td style="white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="hdcell" colspan="2" style="width:9%;"></td> <td style="white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="hdcell" colspan="2" style="width:9%;"></td> <td style="white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="hdcell" colspan="2" style="width:9%;"></td> <td style="white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="hdcell" colspan="2" style="width:9%;"></td> <td style="white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td style="vertical-align:bottom;"> <p style="margin:0px">Current Assets:</p></td> <td style="white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"> <p style="MARGIN: 0px; text-align:center;"><strong>March 31, 2024</strong></p> <p style="MARGIN: 0px; text-align:center;"><strong>(Unaudited)</strong></p></td> <td style="PADDING-BOTTOM: 1px;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"> <p style="MARGIN: 0px; text-align:center;"><strong>December 31, 2023</strong></p></td> <td style="PADDING-BOTTOM: 1px;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 15px">Cash and Cash Equivalents</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,093,219</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,339,059</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px">Accounts Receivable - net</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,115,691</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,429,929</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px">Other Receivables</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">164,150</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">164,150</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px">Inventories</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,645,885</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,627,103</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px">Vendor Deposits</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">124,427</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">29,335</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px">Prepaid Expenses</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">384,003</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">371,298</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 30px">Total Current Assets</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">8,527,375</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">9,960,874</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px">Property and Equipment &#8211; net</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,060,640</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,048,642</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px">Other Assets:</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px">Intangible Assets &#8211; net</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,118,369</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,123,246</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px">Operating Lease - Right of Use Asset</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">451,514</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">467,935</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px">Long Term Accounts Receivable - net</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">206,240</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">206,240</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px">Other Assets</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">593,930</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">550,677</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 30px">Total Other Assets</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,370,053</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,348,098</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px">Total Assets</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td> <td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">11,958,068</td> <td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td> <td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">13,357,614</td> <td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px"><strong>LIABILITIES AND SHAREHOLDERS&#8217; EQUITY </strong></p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px">Current Liabilities:</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 15px">Accounts Payable</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,351,118</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,267,029</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 15px">Accrued Expenses and Other Current Liabilities</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">472,525</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">675,491</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 15px">Deferred Revenue</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">13,659</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 15px">Current Portion of Long-Term Operating Lease</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">118,911</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">115,658</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 30px">Total Current Liabilities</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,956,213</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,058,178</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px">Long-Term Liabilities:</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 15px">Long-Term Operating Lease, Net of Current Portion</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">612,017</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">642,527</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 15px">Convertible Notes Payable, net of discount of $286,366 and $301,985 at March 31, 2024 and December 31, 2023, respectively</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,313,634</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,298,015</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 30px">Total Long-Term Liabilities</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,925,651</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,940,542</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 30px">Total Liabilities</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">4,881,864</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">4,998,720</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px">Commitments and Contingencies</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px">Shareholders&#8217; Equity:</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 15px">Cumulative Convertible Series A Preferred Stock;&nbsp;par value $0.01 per share, 1,000,000 shares authorized; 63,750 shares issued&nbsp;and outstanding at March 31, 2024 and December 31, 2023, respectively</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">638</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">638</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 15px">Cumulative Convertible Series B Preferred Stock; $1,000 stated value; 7.5% Cumulative dividend; 4,000 shares authorized; none issued&nbsp;and outstanding at March 31, 2024 and December 31, 2023, respectively</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 15px">Common stock; par value $0.01 per share, 250,000,000 shares authorized;&nbsp;19,955,205 and 19,923,955 shares issued and outstanding&nbsp;at March 31, 2024 and December 31, 2023, respectively</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">199,553</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">199,240</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 15px">Additional Paid-In Capital</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">58,012,432</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">57,985,245</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 15px">Accumulated Deficit</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(51,136,419</td> <td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(49,826,229</td> <td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 15px">Total Shareholders&#8217; Equity</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">7,076,204</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">8,358,894</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px">Total Liabilities and Shareholders&#8217; Equity</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td> <td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">11,958,068</td> <td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td> <td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">13,357,614</td> <td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-ALIGN: center; TEXT-INDENT: 0px;">5</td></tr> <tr style="height:15px"> <td><p style='page-break-after: always'></p></td></tr> <tr style="height:15px"> <td>&nbsp;</td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;width:100%;text-align:left;font:10pt times new roman" cellpadding="0"> <tr style="height:15px"> <td colspan="8" style="vertical-align:bottom;"> <p style="MARGIN: 0px; text-align:center;"><strong>TOMI ENVIRONMENTAL SOLUTIONS, INC.</strong></p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td colspan="8" style="vertical-align:bottom;"> <p style="MARGIN: 0px; text-align:center;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS</strong></p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="hdcell" colspan="2" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="hdcell" colspan="2" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="hdcell" colspan="6" style="width:9%;vertical-align:bottom;text-align:center;"> <p style="MARGIN: 0px; text-align:center;"><strong>For The Three Months Ended</strong></p></td> <td style="white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"> <p style="MARGIN: 0px; text-align:center;"><strong>March 31,</strong></p></td> <td style="white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"> <p style="MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td> <td style="PADDING-BOTTOM: 1px;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"> <p style="MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td> <td style="PADDING-BOTTOM: 1px;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" colspan="2" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" colspan="2" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 15px">Sales, net</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,114,087</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,582,172</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 15px">Cost of Sales</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">443,419</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">640,935</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 15px">Gross Profit</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">670,668</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">941,237</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px">Operating Expenses:</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 15px">Professional Fees</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">197,999</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">137,185</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 15px">Depreciation and Amortization</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">77,921</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">88,776</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 15px">Selling Expenses</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">289,069</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">376,653</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 15px">Research and Development</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">67,971</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">70,520</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 15px">Consulting Fees</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">113,635</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">75,455</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 15px">General and Administrative</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,150,549</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,380,794</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px">Total Operating Expenses</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,897,144</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,129,383</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px">Income (loss) from Operations</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(1,226,476</td> <td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(1,188,146</td> <td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr> <tr style="height:15px;background-color:#ffffff"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px">Other Income (Expense):</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 15px">Interest Income</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9,906</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">659</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 15px">Interest Expense</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(93,620</td> <td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px">Total Other Income (Expense)</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(83,714</td> <td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">659</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px">Income (loss) before income taxes</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(1,310,190</td> <td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(1,187,487</td> <td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px">Provision for Income Taxes</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td> <td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px">Net Income (loss)</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td> <td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(1,310,190</td> <td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td> <td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(1,187,487</td> <td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr> <tr style="height:15px;background-color:#cceeff"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px">Net income (loss) Per Common Share</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 15px">Basic</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td> <td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.07</td> <td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td> <td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.06</td> <td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px 0px 0px 15px">Diluted</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td> <td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.07</td> <td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td> <td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.06</td> <td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr> <tr style="height:15px;background-color:#cceeff"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="width:9%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#ffffff"> <td style="vertical-align:top;"> <p style="margin:0px">Basic Weighted Average Common Shares Outstanding</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">19,954,511</td> <td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">19,806,622</td> <td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px;background-color:#cceeff"> <td style="vertical-align:top;"> <p style="margin:0px">Diluted Weighted Average Common Shares Outstanding</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">19,954,511</td> <td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td> <td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">19,806,622</td> <td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"> <p style="margin:0px">&nbsp;</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-ALIGN: center; TEXT-INDENT: 0px;">6</td></tr> <tr style="height:15px"> <td><p style='page-break-after: always'></p></td></tr> <tr style="height:15px"> <td>&nbsp;</td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">INVESTOR RELATIONS&nbsp;CONTACT:</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">John Nesbett/Roz Christian</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">IMS Investor Relations</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">tomi@imsinvestorrelations.com</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-ALIGN: center; TEXT-INDENT: 0px;">7</td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p><body>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>3
<FILENAME>tomz-20240515.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii" standalone="yes"?>
<!--XBRL Document Created with XBRLMaster-->
<!--Version: 2.3.08-->
<!--Based on XBRL 2.1-->
<!--Date of creation: 05/15/2024-->
<!--Software architectural design and coding: A'c Dharmapremananda Avt.-->
<!--Copyright (c) 2024 I-NET Business Solutions, Inc. All Rights Reserved.-->
<schema xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:currency="http://xbrl.sec.gov/currency/2023" xmlns:us-gaap-att="http://fasb.org/us-gaap/attributes" xmlns:sic="http://xbrl.sec.gov/sic/2023" xmlns:exch="http://xbrl.sec.gov/exch/2023" xmlns:invest="http://xbrl.sec.gov/invest/2013-01-31" xmlns:negated="http://www.xbrl.org/2009/role/negated" xmlns:naics="http://xbrl.sec.gov/naics/2023" xmlns:us-types="http://fasb.org/us-types/2023" xmlns:stpr="http://xbrl.sec.gov/stpr/2023" 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:country="http://xbrl.sec.gov/country/2023" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:srt-types="http://fasb.org/srt-types/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:srt-roles="http://fasb.org/srt-roles/2023" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:srt="http://fasb.org/srt/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:tomz="http://tomz.com/20240515" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://tomz.com/20240515">
 <annotation>
  <appinfo>
   <link:roleType roleURI="http://tomz.com/role/Cover" id="Cover">
    <link:definition>000001 - 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:linkbaseRef xlink:type="simple" xlink:href="tomz-20240515_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
   <link:linkbaseRef xlink:type="simple" xlink:href="tomz-20240515_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
   <link:linkbaseRef xlink:type="simple" xlink:href="tomz-20240515_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
   <link:linkbaseRef xlink:type="simple" xlink:href="tomz-20240515_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
  </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.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" />
 <import namespace="http://xbrl.sec.gov/country/2023" schemaLocation="https://xbrl.sec.gov/country/2023/country-2023.xsd" />
 <import namespace="http://xbrl.sec.gov/currency/2023" schemaLocation="https://xbrl.sec.gov/currency/2023/currency-2023.xsd" />
 <import namespace="http://xbrl.sec.gov/dei/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd" />
 <import namespace="http://www.xbrl.org/dtr/type/non-numeric" schemaLocation="http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd" />
 <import namespace="http://www.xbrl.org/dtr/type/numeric" schemaLocation="http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd" />
 <import namespace="http://xbrl.sec.gov/exch/2023" schemaLocation="https://xbrl.sec.gov/exch/2023/exch-2023.xsd" />
 <import namespace="http://www.xbrl.org/2009/arcrole/fact-explanatoryFact" schemaLocation="http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd" />
 <import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd" />
 <import namespace="http://www.xbrl.org/2009/role/net" schemaLocation="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd" />
 <import namespace="http://xbrl.sec.gov/naics/2023" schemaLocation="https://xbrl.sec.gov/naics/2023/naics-2023.xsd" />
 <import namespace="http://xbrl.sec.gov/sic/2023" schemaLocation="https://xbrl.sec.gov/sic/2023/sic-2023.xsd" />
 <import namespace="http://fasb.org/srt-roles/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd" />
 <import namespace="http://fasb.org/srt-types/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.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/stpr/2023" schemaLocation="https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd" />
 <import namespace="http://fasb.org/us-roles/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd" />
 <import namespace="http://fasb.org/us-types/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd" />
 <import namespace="http://fasb.org/srt/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd" />
 <import namespace="http://fasb.org/us-gaap/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>4
<FILENAME>tomz-20240515_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii" standalone="yes"?>
<!--XBRL Document Created with XBRLMaster-->
<!--Version: 2.3.08-->
<!--Based on XBRL 2.1-->
<!--Date of creation: 05/15/2024-->
<!--Software architectural design and coding: A'c Dharmapremananda Avt.-->
<!--Copyright (c) 2024 I-NET Business Solutions, Inc. All Rights Reserved.-->
<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" 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" roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#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.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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 Country Code</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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 1</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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">Security 12b Title</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>5
<FILENAME>tomz-20240515_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii" standalone="yes"?>
<!--XBRL Document Created with XBRLMaster-->
<!--Version: 2.3.08-->
<!--Based on XBRL 2.1-->
<!--Date of creation: 05/15/2024-->
<!--Software architectural design and coding: A'c Dharmapremananda Avt.-->
<!--Copyright (c) 2024 I-NET Business Solutions, Inc. All Rights Reserved.-->
<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" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef  roleURI="http://tomz.com/role/Cover" xlink:href="tomz-20240515.xsd#Cover" xlink:type="simple" />
  <link:calculationLink xlink:type="extended" xlink:role="http://tomz.com/role/Cover" xlink:title="00000001 - Document - Document and Entity Information" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>6
<FILENAME>tomz-20240515_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii" standalone="yes"?>
<!--XBRL Document Created with XBRLMaster-->
<!--Version: 2.3.08-->
<!--Based on XBRL 2.1-->
<!--Date of creation: 05/15/2024-->
<!--Software architectural design and coding: A'c Dharmapremananda Avt.-->
<!--Copyright (c) 2024 I-NET Business Solutions, Inc. All Rights Reserved.-->
<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" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://tomz.com/role/Cover" xlink:href="tomz-20240515.xsd#Cover" xlink:type="simple" />
  <link:presentationLink xlink:type="extended" xlink:role="http://tomz.com/role/Cover" xlink:title="00000001 - Document - Cover Page Information">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="loc_deiCoverAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="loc_deiEntityRegistrantName" />
    <link:presentationArc order="0" 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/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="loc_deiEntityCentralIndexKey" />
    <link:presentationArc order="1" 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/2023/dei-2023.xsd#dei_DocumentType" xlink:label="loc_deiDocumentType" />
    <link:presentationArc order="2" 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/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="loc_deiAmendmentFlag" />
    <link:presentationArc order="3" 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/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_deiEntityEmergingGrowthCompany" />
    <link:presentationArc order="4" 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/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_deiDocumentPeriodEndDate" />
    <link:presentationArc order="5" 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/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="loc_deiEntityFileNumber" />
    <link:presentationArc order="6" 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/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_deiEntityIncorporationStateCountryCode" />
    <link:presentationArc order="7" 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/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_deiEntityTaxIdentificationNumber" />
    <link:presentationArc order="8" 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/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_deiEntityAddressAddressLine1" />
    <link:presentationArc order="9" 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/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_deiEntityAddressCityOrTown" />
    <link:presentationArc order="10" 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/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_deiEntityAddressStateOrProvince" />
    <link:presentationArc order="11" 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/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_deiEntityAddressPostalZipCode" />
    <link:presentationArc order="12" 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/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="loc_deiCityAreaCode" />
    <link:presentationArc order="13" 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/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="loc_deiLocalPhoneNumber" />
    <link:presentationArc order="14" 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/2023/dei-2023.xsd#dei_WrittenCommunications" xlink:label="loc_deiWrittenCommunications" />
    <link:presentationArc order="15" 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/2023/dei-2023.xsd#dei_SolicitingMaterial" xlink:label="loc_deiSolicitingMaterial" />
    <link:presentationArc order="16" 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/2023/dei-2023.xsd#dei_PreCommencementTenderOffer" xlink:label="loc_deiPreCommencementTenderOffer" />
    <link:presentationArc order="17" 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/2023/dei-2023.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="loc_deiPreCommencementIssuerTenderOffer" />
    <link:presentationArc order="18" 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/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="loc_deiSecurity12bTitle" />
    <link:presentationArc order="19" 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/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="loc_deiTradingSymbol" />
    <link:presentationArc order="20" 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/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="loc_deiSecurityExchangeName" />
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityExchangeName" xlink:type="arc" />
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>7
<FILENAME>tomz-20240515_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii" standalone="yes"?>
<!--XBRL Document Created with XBRLMaster-->
<!--Version: 2.3.08-->
<!--Based on XBRL 2.1-->
<!--Date of creation: 05/15/2024-->
<!--Software architectural design and coding: A'c Dharmapremananda Avt.-->
<!--Copyright (c) 2024 I-NET Business Solutions, Inc. All Rights Reserved.-->
<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" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef  roleURI="http://tomz.com/role/Cover" xlink:href="tomz-20240515.xsd#Cover" 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://tomz.com/role/Cover" xlink:title="00000001 - Document - Cover Page Information">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="loc_deiCover" />
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>8
<FILENAME>tomz_ex991img1.jpg
<TEXT>
begin 644 tomz_ex991img1.jpg
M_]C_X  02D9)1@ ! 0$ 8 !@  #_VP!#  4$! 0$ P4$! 0&!04&" T(" <'
M"! +# D-$Q 4$Q(0$A(4%QT9%!8<%A(2&B,:'!X?(2$A%!DD)R0@)AT@(2#_
MVP!# 04&!@@'" \(" \@%1(5(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @("#_P  1" !Q .<# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#[+HHHH **
M** "BBB@ HHHH ***3(H 6BDW#UI: "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "N.^)FJ7NB_"7Q9J^E7+6U]9:5<SP3( 3&ZQL589XX
M(KL:YWQKX?D\5^ =>\-0W"6TFJV,UFLSKN$9="NXCOC- 'YO_P##1/QJ_P"B
M@7W_ '[B_P#B*/\ AHGXU?\ 10+[_OW%_P#$5['_ ,,/^(/^A]T__P  G_\
MBJ\%^*WPXN?A7XY/A2[U6+4Y1;QW'GQ1F-</GC!)]* -?_AHGXU?]% OO^_<
M7_Q%'_#1/QJ_Z*!??]^XO_B*\_\ #^F/KGB72]&CF6%]0NXK596&0A=PNXCO
MC.:^H_\ AA_Q!_T/NG_^ 3__ !5 'U?\-M2OM8^$_A/5M4N&NKZ\TFVGGF<
M&21HE+,<<<DUU%Q<P6EN]Q<RK'$@W,['  K#\&Z')X5\ :#X>N+A9Y-)L(;-
MYT7:KF- I8 ] <9KSSQ;XDDUJ\:WA<BQB;]VH_Y:$?QG^E>=C<9'"T^9ZM[(
MSG/D1J:Y\2)M[P:%"J(./M,RY)_W5[?C^5<)?>(-<O6+76KW<F>PE*K^0P*@
MD!)P 23P .I-=#I_P^\1ZE&)I(8[*-AD&X8AC_P$ D?CBOE?;8O%2TN_);')
M><SDUU/4[>3?!J5W$P[K.P_K6_I/Q)\3:5(JW%PNI6XZI<?>Q[..?SS6K=?"
MG7EC+6]Y:7##^$[D)_'!%<'JVEZAH]X;34K.2VFZ@..&'J"."/I6R6*P_O.Z
M_(3YX:GT#X9\8:1XHMF:SD,5S&,R6TG#I[^X]Q73=J^2K.^O-+U"'4-/N&M[
MJ!MR.O;V/J#W'>OH[P;XHM_%?A]+Y5$=PA\NXB!^XX]/8]17T&"QGMERS^+\
MSHI5>?1[EGQ=>7.G^!M?U"RE,5U;:?<312  E'6-BIYXX(%?G%_PTI\;_P#H
M?+G_ ,!;?_XW7Z->.O\ DFWBC_L%77_HEJ_(FO5.@]<_X:4^-_\ T/ES_P"
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
MW^V%_P F_M_V%+?^3UPG[#O_ "!_''_7>S_]!EKN_P!L+_DW]O\ L*6_\GH
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
,* "BBB@ HHHH __9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>10
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140416957381680">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cover<br></strong></div></th>
<th class="th"><div>May 15, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [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_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">TOMI Environmental Solutions, Inc.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000314227<span></span>
</td>
</tr>
<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">8-K<span></span>
</td>
</tr>
<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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">May 15,  2024<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">000-09908<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation State Country Code</a></td>
<td class="text">FL<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">59-1947988<span></span>
</td>
</tr>
<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 1</a></td>
<td class="text">8430 Spires Way<span></span>
</td>
</tr>
<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">Frederick<span></span>
</td>
</tr>
<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">MD<span></span>
</td>
</tr>
<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">21701<span></span>
</td>
</tr>
<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">800<span></span>
</td>
</tr>
<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">525-1698<span></span>
</td>
</tr>
<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_WrittenCommunications', window );">Written Communications</a></td>
<td class="text">false<span></span>
</td>
</tr>
<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_SolicitingMaterial', window );">Soliciting Material</a></td>
<td class="text">false<span></span>
</td>
</tr>
<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_PreCommencementTenderOffer', window );">Pre Commencement Tender Offer</a></td>
<td class="text">false<span></span>
</td>
</tr>
<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_PreCommencementIssuerTenderOffer', window );">Pre Commencement Issuer Tender Offer</a></td>
<td class="text">false<span></span>
</td>
</tr>
<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 );">Security 12b Title</a></td>
<td class="text">Common Stock, $0.01 par value per share<span></span>
</td>
</tr>
<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">TOMZ<span></span>
</td>
</tr>
<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>
</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_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_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_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_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_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_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_PreCommencementIssuerTenderOffer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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.</p></div>
<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 13e<br> -Subsection 4c<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_PreCommencementIssuerTenderOffer</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_PreCommencementTenderOffer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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.</p></div>
<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 14d<br> -Subsection 2b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_PreCommencementTenderOffer</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_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_SolicitingMaterial">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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.</p></div>
<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> -Section 14a<br> -Number 240<br> -Subsection 12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SolicitingMaterial</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_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_WrittenCommunications">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 425<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_WrittenCommunications</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>11
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( #" KU@'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    "  P@*]8?NED0NX    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+!
M3L,P#(9?!>7>.LW8#E&7"X@32$A, G&+'&^+:-HH,6KW]K1EZX3@ 3C&_O/Y
ML^0:H\8NT7/J(B7VE&^&T+198]R*(W/4 !F/%&PNQT0[-O=="I;'9SI M/AA
M#P1*R@T$8NLL6YB 15R(PM0.-2:RW*4SWN&"CY^IF6$.@1H*U'*&JJQ F&EB
M/ U-#5? !&-*(7\7R"W$N?HG=NZ .">'[)=4W_=EOYISXPX5O#T]OLSK%K[-
M;%ND\5?VFD^1MN(R^75U=[][$$9)=5O(=5&M=TIJ66FU>9]<?_A=A4/G_-[_
M8^.+H*GAUUV8+U!+ P04    "  P@*]8F5R<(Q &  "<)P  $P   'AL+W1H
M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03<VEVV[29A.U.
M'X416(UL>621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X
M8-DOV]:[MR_>X%<R)!%!,!FGK_# "J5,7K5::0##.'W)$Q+#W(*+"$MX%,O6
M7.!;&B\CUNJTV]U6A&ELH1A'9&!]7BQH0-!445IO7R"TY1\S^!7+5(UEHP$3
M5T$FN8BT\OELQ?S:WCYES^DZ'3*!;C ;6"!_SF^GY$Y:B.%4PL3 :F<_5FO'
MT=)(@(+)?90%NDGVH],5"#(-.SJ=6,YV?/;$[9^,RMIT-&T:X./Q>#BVR]*+
M<!P$X%&[GL*=]&R_I$$)M*-IT&38]MJND::JC5-/T_=]W^N;:)P*C5M/TVMW
MW=..B<:MT'@-OO%/A\.NB<:KT'3K:28G_:YKI.D6:$)&X^MZ$A6UY4#3( !8
M<';6S-(#EEXI^G64&MD=N]U!7/!8[CF)$?[&Q036:=(9EC1&<IV0!0X -\31
M3%!\KT&VBN#"DM)<D-;/*;50&@B:R('U1X(AQ=RO_?67N\FD,WJ=?3K.:Y1_
M::L!I^V[F\^3_'/HY)^GD]=-0LYPO"P)\?LC6V&')VX[$W(Z'&="?,_V]I&E
M)3+/[_D*ZTX\9Q]6EK!=S\_DGHQR([O=]EA]]D]';B/7J<"S(M>41B1%G\@M
MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7
MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V<
M/!T3$LV4"P9!AI<D)A*I.7Y-2!/^*Z7:_IS30/"4+R3Z2I&/:;,CIW0FS>@S
M&L%&KQMUAVC2/'K^!?F<-0H<D1L= F<;LT8AA&F[\!ZO)(Z:K<(1*T(^8ADV
M&G*U%H&V<:F$8%H2QM%X3M*T$?Q9K#63/F#([,V1=<[6D0X1DEXW0CYBSHN0
M$;\>ACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0'
MHYI9";V$5FJ?JH<T/J@>,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y
M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RS<C'5*^3*=@Y
MG\#L_6@^GO'M^MDDA*^:62TC%I!+@;-!)+C\B\KP*L0)Z&1;)0G+5--E-XH2
MGD(;;NE3]4J5U^6ON2BX/%ODZ:^A=#XLS_D\7^>TS0LS0[=R2^JVE+ZU)CA*
M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D*
MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-#
MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B
M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P
MOFH]M!5.S_Y9K<B?#!%.%@L22&.4%Z9*HO,94[[G*TG$53B_13.V$I<8O./F
MQW%.4[@2=K8/ C*YNSFI>F4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W
MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2
MD 83 <V4R43P H)DIAR F/H+O?(,N2D5SJT^.7]%+(.&3E[2)1(4BK ,!2$7
M<N/O[Y-J=XS7^BR!;814,F35%\I#B<$],W)#V%0E\Z[:)@N%V^)4S;L:OB9@
M2\-Z;ITM)__;7M0]M!<]1O.CF> >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F
M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+
M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5
M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0    (
M #" KUA9]?K".00  '40   8    >&PO=V]R:W-H965T<R]S:&5E=#$N>&UL
MC9A?;_(V%,:_BI5-NVJ;..5O!TB4MAMZ2\M*MTKOM N3&+":V)GM0/GV.PZ0
M=%MZ0B^:./%Y\K-]_-AFL%/ZW6PXM^0C3:09>AMKLQO?-]&&I\Q<J8Q+>+-2
M.F46BGKMFTQS%A=!:>*'0=#Q4R:D-QH4S^9Z-%"Y383D<TU,GJ9,[V]YHG9#
MCWJG!R]BO;'N@3\:9&S-%]S^GLTUE/Q2)18IET8H231?#;TQO;D-6RZ@J/&'
MX#OSZ9ZXIBR5>G>%:3ST D?$$QY9)\'@LN43GB1."3C^/HIZY3==X.?[D_I#
MT7AHS)(9/E')FXCM9NCU/!+S%<L3^Z)VO_)C@]I.+U*)*?Z3W:%N*_!(E!NK
MTF,P$*1"'J[LX]@1YP2$QX"PX#Y\J*"\8Y:-!EKMB':U0<W=%$TMH@%.2#<J
M"ZOAK8 X.YJH+=<#WX*4>^!'Q[#;0UCX1=B,[0EM7Y P"%O_CO8!H*0(2XJP
MD+O&*,B?XZ6Q&L;IKSJ@@T*K7L$E[XW)6,2''F2GX7K+O=%//]!.\#/"=UWR
M76/JHWMIA=V3%[X6CE!:\L127D>)Z[P^SZ;D7FZ%5A)2V[*$+%22N_PT%V0J
MHRL$ME7"MLZ!G8"^A@],9<P_R#>^K\/%E0+XNZ:M,.PB6.T2JXV*W:DH=VTF
MK_NLMNOP\-[E-P2B4T)T4)4Q$,0%Q4/"UG44>/R*)88C'-V2HWO.&-VG7*^%
M7)-?(-YNR$2E&9.U(X7K-7'U2J[>>8,TYUJH&'(U)N KM>.%*YT<HLDB^B59
M_YP>>Q ))T]YNJQW+5P#TODRZ/>#'L)#@\HY@W.(8-8JG2G-BE5F8:&W8!QS
MF'PP!U5<VW4-R@^/&. G:Z?G +ZR#S*-85#%2D0'RJ\[L$&RW;^D_5:WWT.[
ML+)]BKKVB7 <Q^#9IKP^0C5":_%PO5[K.B"+3( *>6-[C+&R?GJ6]Y_8)J[P
MK,FKVLE:0ESM0?,8IE;TCK%53D_/LOH3VR'Y &ZNU5;(J#[W<,G9'496F3W%
M[?H_9'-EW&+W761?SPE<,*3=@&)HU1) <0\O1G ,6]BO47"!7A!@(-4:0''3
M?E01],E\HR1F:0TB[;!]23M]=#Y6[D]QTW[3PEHNW3J4YO+H%J:6"A=J6H]H
M9?L4]VS8'XE(6+=(SB"[M6!)+0^NTL035JX?XMX\U[SH'@[3Z["=@1T%;%Z?
M5ZOZ\6O0:R2K[#[$O?E_9%-C<B!K!,1E&P$_;?)Q=U[P*-=N\M%P25Z%36HG
M7X.(:V&QSJKH_8+\&%P%E&1,DRU+<DXR:*C9,(T"5]8?-FS7-8M=XBWVZ5+5
MIEV3P//L.T92&7V(NW+9=?<?T8;)-?_R -(@]#1>W(U_JV/R/QTBW8%\QMS6
MU)"$KT IN.J"/^O#&?=0L"HKSI5+9>&46MQN.(-4<Q7@_4HI>RJXHVKY2\/H
M'U!+ P04    "  P@*]8GZ ;\+$"  #B#   #0   'AL+W-T>6QE<RYX;6S=
M5VUKVS 0_BM"/V!N8FKBD1BV0&&PC4+S85^56'8$>O%DN7/ZZZ>S;"=I=67=
MA['-H<G=/;J[1W<GF:Y;=Y+\X<BY([V2NMW0HW/-^R1I#T>N6/O.-%Q[I#)6
M,>=56R=M8SDK6W!2,EG>W&2)8D+38JT[=:=<2PZFTVY#;VA2K"NCSY:4!H-?
MRA0GCTQNZ)9)L;=B6,N4D*=@7H+A8*2QQ'DJ?$,78&F? KP(&K <XRBAC05C
M$C*$[_VX_!DP::U7A90SP24-AF+=,.>XU7=>&18/QA<0&>7=J?$,:\M.B^4M
M/3L,/S[)WMB2VSG-@DZF8BUY!72LJ(_PZTR3 .B<45XH!:N-9@.'R6,4?-@#
ME_(!6OBMNHK=5R3TXE,);2"PU4GTA$8QA D*Q+^,%F)?A+W]K;"D$8_&?>S\
M;O2@?^^,X_>65Z(?]+Z:\V/1%WATUC3R]$&*6BL>]O[+"8LUF_S(T5CQY+/!
MI!R\@5M*'KEUXG!I^6%9L^.]FZ:IKW#.RW^0\Y^M<\TUMTQ>DO:C_S=7^2V,
MD_'T7!S1JP,Z6PE<A!OZ%>Y7>>9 ]IV03NA1.XJRY/K%.?7A'=O["_PJOE]?
M\HIUTNUF<$//\A=>BD[E\ZI[J,NXZBQ_AOMHD<VWL,\E=,E[7FY'U=;[021>
M\%G'!QR>(W?#$T<PGX#%$<"P/!@#S"=X87G^I_VLT/T$#..VBB(KU&>%^@2O
M&+(=/EB>N$_NG_A.\SQ-LPRKZ'8;9;#%ZI9E\!>/AG$##RP/9'I;K?%NXQ/R
M^AQ@/7UM0K"=XI.([12O-2#QNH%'GL>[C>4!#ZP+V.Q _G@>F*FX3YI"5S%N
MV G&D3S'$)C%^(QF&5*=##[Q_F"G)$WS/(X %F>0IA@"IQ%', ;  4/2='@/
M/GL?)=-[*CG_5U/\!%!+ P04    "  P@*]8EXJ[',     3 @  "P   %]R
M96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6!/D!5J(/V!(%BD6=OZ_:
MI7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV)8]ISI%"KM0L'C6'TD!$
MVV-#L%HL/D N&6:WO606IW.D5XA<UYVE/=LO3T%O@*\Z3'%":4A+,P[PS=)_
M,O?S##5%Y4HCE5L:>-/E_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0T^FO8R*T>EOH
M^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0    ( #" KUBJQ"(6,P$  "("
M   /    >&PO=V]R:V)O;VLN>&ULC5'1;L(P#/R5*A^P%K0A#5%>0-N0I@V-
MB??0NM0BB2O'A8VOG]NJ&M)>]I3<V;K<7187XM.!Z)1\>1=B;FJ19IZFL:C!
MVWA'#02=5,3>BD(^IK%AL&6L <2[=)IEL]1;#&:Y&+6VG-X"$B@$*2C9$7N$
M2_R==S Y8\0#.I3OW/1W!R;Q&-#C%<K<9":)-5U>B/%*0:S;%4S.Y68R#/;
M@L4?>M>9_+2'V#-B#Q]6C>1FEJE@A1REW^CUK7H\@RX/J!5Z0B? :ROPS-0V
M&(Z=C*9(;V+T/8SG4.*<_U,C5146L*:B]1!DZ)'!=09#K+&))@G60VY6= ;N
M\N@#FW+()FKJIBF>HPYX4P[V1D\E5!B@?%.9J+SV4VPYZ8Y>9WK_,'G4'EKG
M5LJ]AU>RY1AQ_)[E#U!+ P04    "  P@*]8)!Z;HJT   #X 0  &@   'AL
M+U]R96QS+W=O<FMB;V]K+GAM;"YR96QSM9$]#H,P#(6O$N4 -5"I0P5,75@K
M+A %\R,2$L6N"K<OA0&0.G1ALIXM?^_)3I]H%'=NH+;S)$9K!LIDR^SO *1;
MM(HNSN,P3VH7K.)9A@:\TKUJ$)(HND'8,V2>[IFBG#S^0W1UW6E\./VR./ /
M,+Q=Z*E%9"E*%1KD3,)HMC;!4N++3):BJ#(9BBJ6<%H@XLD@;6E6?;!/3K3G
M>1<W]T6NS>,)KM\,<'AT_@%02P,$%     @ ,("O6&60>9(9 0  SP,  !,
M  !;0V]N=&5N=%]4>7!E<UTN>&ULK9--3L,P$(6O$F5;)2XL6*"F&V +77 !
M8T\:J_Z39UK2VS-.VDJ@$A6%3:QXWKS/GI>LWH\1L.B=]=B4'5%\% )5!TYB
M'2)XKK0A.4G\FK8B2K636Q#WR^6#4,$3>*HH>Y3KU3.T<F^I>.EY&TWP39G
M8ED\C<+,:DH9HS5*$M?%P>L?E.I$J+EST&!G(BY84(JKA%SY'7#J>SM 2D9#
ML9&)7J5CE>BM0#I:P'K:XLH90]L:!3JHO>.6&F,"J;$#(&?KT70Q32:>,(S/
MN]G\P68*R,I-"A$YL01_QYTCR=U59"-(9*:O>"&R]>S[04Y;@[Z1S>/]#&DW
MY(%B6.;/^'O&%_\;SO$1PNZ_/[&\UDX:?^:+X3]>?P%02P$"% ,4    "  P
M@*]8!T%-8H$   "Q    $               @ $     9&]C4')O<',O87!P
M+GAM;%!+ 0(4 Q0    ( #" KUA^Z61"[@   "L"   1              "
M :\   !D;V-0<F]P<R]C;W)E+GAM;%!+ 0(4 Q0    ( #" KUB97)PC$ 8
M )PG   3              "  <P!  !X;"]T:&5M92]T:&5M93$N>&UL4$L!
M A0#%     @ ,("O6%GU^L(Y!   =1   !@              ("!#0@  'AL
M+W=O<FMS:&5E=',O<VAE970Q+GAM;%!+ 0(4 Q0    ( #" KUB?H!OPL0(
M .(,   -              "  7P,  !X;"]S='EL97,N>&UL4$L! A0#%
M  @ ,("O6)>*NQS     $P(   L              ( !6 \  %]R96QS+RYR
M96QS4$L! A0#%     @ ,("O6*K$(A8S 0  (@(   \              ( !
M01   'AL+W=O<FMB;V]K+GAM;%!+ 0(4 Q0    ( #" KU@D'INBK0   /@!
M   :              "  :$1  !X;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L
M<U!+ 0(4 Q0    ( #" KUAED'F2&0$  ,\#   3              "  882
K  !;0V]N=&5N=%]4>7!E<UTN>&UL4$L%!@     )  D /@(  - 3      $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<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>13
<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>15
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.1.1.u2</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>1</ContextCount>
  <ElementCount>22</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>0</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>3</UnitCount>
  <MyReports>
    <Report instance="tomz_8k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tomz.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File>tomz-20240515.xsd</File>
    <File>tomz-20240515_cal.xml</File>
    <File>tomz-20240515_def.xml</File>
    <File>tomz-20240515_lab.xml</File>
    <File>tomz-20240515_pre.xml</File>
    <File doctype="8-K" isOnlyDei="true" isUsgaap="true" original="tomz_8k.htm">tomz_8k.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="22">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>17
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "tomz_8k.htm": {
   "nsprefix": "tomz",
   "nsuri": "http://tomz.com/20240515",
   "dts": {
    "schema": {
     "local": [
      "tomz-20240515.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/dtr/type/nonNumeric-2009-12-16.xsd",
      "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd",
      "https://xbrl.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/currency/2023/currency-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd",
      "https://xbrl.sec.gov/exch/2023/exch-2023.xsd",
      "https://xbrl.sec.gov/naics/2023/naics-2023.xsd",
      "https://xbrl.sec.gov/sic/2023/sic-2023.xsd",
      "https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "tomz-20240515_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "tomz-20240515_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "tomz-20240515_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "tomz-20240515_pre.xml"
     ]
    },
    "inline": {
     "local": [
      "tomz_8k.htm"
     ]
    }
   },
   "keyStandard": 22,
   "keyCustom": 0,
   "axisStandard": 0,
   "axisCustom": 0,
   "memberStandard": 0,
   "memberCustom": 0,
   "hidden": {
    "total": 2,
    "http://xbrl.sec.gov/dei/2023": 2
   },
   "contextCount": 1,
   "entityCount": 1,
   "segmentCount": 0,
   "elementCount": 23,
   "unitCount": 3,
   "baseTaxonomies": {
    "http://xbrl.sec.gov/dei/2023": 22
   },
   "report": {
    "R1": {
     "role": "http://tomz.com/role/Cover",
     "longName": "000001 - Document - Cover",
     "shortName": "Cover",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "From2024-05-15to2024-05-15",
      "name": "dei:EntityRegistrantName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "strong",
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tomz_8k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-05-15to2024-05-15",
      "name": "dei:EntityRegistrantName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "strong",
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tomz_8k.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address Address Line 1",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address City Or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address State Or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation State Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PreCommencementIssuerTenderOffer",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre Commencement Issuer Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "dei_PreCommencementTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PreCommencementTenderOffer",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre Commencement Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security 12b Title",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r0"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_SolicitingMaterial": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SolicitingMaterial",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Soliciting Material",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "dei_WrittenCommunications": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "WrittenCommunications",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Written Communications",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r1": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r2": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r3": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r4": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r5": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Section": "14a",
   "Number": "240",
   "Subsection": "12"
  },
  "r6": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "425"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>18
<FILENAME>0001654954-24-006391-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001654954-24-006391-xbrl.zip
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
MV32QF0[?,QXZU_C.P7;V!U!+ P04    "  P@*]85=^E_P@&  !W-P  %0
M '1O;7HM,C R-# U,35?;&%B+GAM;,U;;6_J-AC]/FG_X1G[L$U:2&EWIQ6U
MO:*T=T*C+RK<[6K3=!42 ]82&]FFP+^?G1<@B9VTU;U.OK0A/L<^CY^3QTX"
M%^^W40C/B'%,R66GUSWI "(^#3!97';6W/&XCW$'N/!(X(64H,O.#O'.^ZMO
MO[GXSG$^73^-X8;ZZP@1 4.&/($"V&"Q!-5TYW&!F..DZ#^3<?IPVCWKGORV
M/W_M<<FB).;(QMZ^Y4;V!W0.ONHYIIZ\<WOOW-.3TU_VH F=BXW'$'C,7V*!
M?+%F7@@!XGA!0 J')* ^#'[PX6;IL<A;,11Y1 4%@V?1W?<UI*L=PXNE@!_]
MGT - R/G_G8*UVN.">(<)C1<*RG\9Q@1OPN#,(0GQ>#PA#ABSRA(NPLQ^:^O
M_LQD?" GFO#^EN/+SE*(5=]U-YM-=W/6I6PAXSGIN9_NQA-_*74YF*@)]U$G
M8ZE>=+S>^?FY&[=FT!)R.V-A-L:9F\F1<([[/!YN3/UX<E]  R-"?7(RF*-.
M.;U3YZS7W?*@(V<#()D/1D/TA.80B^Z+W4HZBN-H%2I)\;DE0W.]E) Q5_%=
M@A;*:&J8<S5,[U<US/?IZ;$W0V$'%/+CT\@8U7FNKY3DOE#JZSI_1 S3X)9D
MHWRA0(O=OE3\%QU^(CPFWC3E9;[E *94>.&;I!\S+8N^1V^;[0//]BS+JH_>
M-LM'S*\@6I0%OWIJ=7,:JE-C>903B+8"D0 %F435047%C?N/"WO<\[YOZN=Z
M#57MIJP<-Y>]QCURY'<7]-D-$%;+YIDZ<-1!'++\\'E(Y09@,..">;[(>HJ#
MN.QHVMV\((4;L$R57()K DL1KD_E K<23GA<$N>,1MI!TYBIIO%S.-OSDTF1
M0VAEYD ,<;IF/GI5/HZUFF8HU1.%$J%V48@X'R>=JQ@#_V2H?R_<0R]?/<6W
M1&"Q>T(+K$8GXMZ+D"8./<Q.PJLD9GG785J0_@I911<D4#A@08$;\,)0;MCE
M+GDD2]+V#[0S1E7"V72#063>#@50:_R@UV4P1 J&& T2;M42V1W<5/:HB2??
M;,< .DE9WH_;6I!NC9QBEO>WR IC-;4#.6R@AOX0>@N-^$*[G>1J1679S36V
M(+TZ/<7\[C&@0 V4\]L(L04FB]\9W8CED$8KCYB+N@%ML[17"LX7>"VT!<:H
M5V<H]AD%$@ZDI$9*_OX9@GK45E'<"CB[BX!69'$UR(%:8(\J7<;U(0&#1(."
M-U!)/N 0W:^C&6)&RQ]#;-:,LK1\H3BTMR#]!DF&DJ!PD  ;R/F(^)2M*(L?
M T^$--Z0KN6&=#>D@?D^L89ETQDO"B!OEDI*:_SS$I4&2^6H$',A)8-B-^"S
MJ;<=!;+,X3E.7CG4%!HCWJ:W:D3G764 M\9/U?H,3I(DR+.:*U6#()"SPM-_
M8TQ0SQBL%FO3.A5B\[;1 %MC&;,V@UU2Y/Z_HD"O.:\,Y>$#F](-J8OQ&-F
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
M9,\7I*C60UZ9!B 0D06-2F(E"35$>B$71MQC3D#ZRDV94Q#-7X'H?0H4]Z:
MK"'9 \8%#02\JJCTJ<8(X7OG!!/2]B18FBX,X\ F/"D/+J5Z7L+>FE*3"![8
M+CP%$^,/X!!["2),\B7?RP-W(P%/0#N$2X"I%CDC5G\2+?Z,1XN\5-=#OO"2
M<DF#C3DPL5#8 18N:+"R!RIUDB/E & 0B,6!95$EVP(OEEK-<$\P.XX:P9F#
M)H=%*NW[A,D) TJ<(&!-0$&$D5A&.& P 16!2@VE,(*6/H16!&X)"6Z #@3U
M/#+AL $4Q3 ( #T2MSY*/T A2+$)-5U8R3!  +E>,)F$\@K'01/>"\<^$$T:
M"H'V4F:G"2T'X+%!6SI\*D$Q0E93["* SZ7--F93#SD/4!8-(6D7A08#_O+5
M,%XPF# ?*!5X"1 )Q(!( ]8"^@EUV:(HN:)#Z@*ZD'FEQ&=3Y'D@%I.\*<8\
M.!)((G 5%NV&YMN, 4W ;&RTP(A@.#$;J)30X5#*!;A._3& &(7A5V935$US
MAE-+QO7CWA?7#9H#!)Q0#\Y,)@D9"=5$,0"VY*'1"@ &-\V'0\2(B1S!;#2Q
MA!]*A9*$C#01(@+"1X?@UP.H79#&TF8#.$E[Q$<1/F)4BF?DX\@N X$#@AO'
MBCDXI$%)&LHVEP()983@*!(CFQAO/I@.S!P96![(/SKF8!>"_@_= VDK2B,1
M5ZH4SU:QI11N.-. "UA<SIN:%@#G3&\, 7IGRT(7C1FS_3'<TM^>$ OLRRGJ
M"W?T\XE^@J.*:$A0H*,QC%&>?I4W;&(YIN?!C>E@+.9K\6WP.WWQRKOAC0^W
M77#N<A]N^\#?9V0 @OJ>&-.OBA3 L4O$84*_4UUK=ZY:&(U!V)Q<&"M..P_3
M_#0U1S0W /OL/F<.8=PS8CHS\]'[27K-JX[W=-/P'T3# ;!H%'GX&/N(W2<^
M(MC3%-0<$-;86^HB:LHR$$I8+]PK;CA&\2,LDGC=H4-_(RP3WE #E-XV3I)[
M!V-EQ-PS'9^>+UL2U]*7G\0Q?#[]]GCGN)OH!O[.#<&H=![/O,?)@#LR_%$K
MPH1X[V+IO$NGZW,,MKC47_" T8,T2E*7)DD +I=KTM3-K\I@JX-G^:,*JPRH
M$Y!9_+YWGSVZUO6^"-8M8_&3X&C3RIDD BMZOO!V 7?E>K[\-D-;JM!V&[L[
M#N(/$?<.>*Q0J""/G2[*7[QCU&KR3H;'5.&Q ^)S 8-%0SHBIP14[;LW>EZO
MGA+ -3KCS%+6*@/G$1 K3=%EB*XN#E!Y<8#\<PLF"E!MWL+X8#HF!F6\,04X
MC &E#J+50^\:O*E%FR*S&P[#;K@T/15BL? '_3-@X&*!D, 8-[B$3\)C1MX
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
MB5B?!XO^B,>?&7KN7XF*< \MR$=PE,-*K"MJ*1LT:CO'T95[&22J<'#:^?*
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
M:;DVM5]AVD-'R?I\MPCF22S_$*[BM%B&FHVAIO!CJ,$\Y<M86>J?IU1^IQ/
MQ>T">#.LL*E0T]I5;GJC /NP\UU&P'NF0SUM!U]CW?G9T(91TO3:7I\:LG,8
MEFL%S:AN*"^^VPHG3YX#(MDCRSBLW+M:*GY_^C:U?'8(&*F4]*6?%$]+!FBM
MRNR3X)Y'[@0?9G47WW.RNZY55LCW9$R[+8S42X96*.['!Y33@//#[]?:DP'3
M"KZM*J63B_EYC='W6;*^SU3O]FC MTN?"NTRZGFJMOPC/=ZC,(QZ5:O7LT^M
MK.>K-57-J*6CE'S-GR6:"FHQ4WYM!:O:FA,\Y?<O\YA/^JT"XQ0V] VJ/1EP
M7:"LU;1JM9(*OEFKEND!6)*6U['BMU"K:WHE4S+K@&6Q6M$JFVJ<W*62Z5*/
MRCH!U37[0!T^Q7/+CA71%= OU4R_K$55ZUIYR1F6>Z]?+KGK!8YT[H_:AY$G
MM6>?5ET+JY2U4OD 79A/U*4"?'WIO=@3YC+/%_(LERP5\!UU"F4\MSO+J:8)
M)\6:KE4/OJ_N>1@[HY'5::16KVI&*>N'30]."II1J /O;O&KG5M./+5=BT\H
M>>=PSSLE0\'C;X>!U9H1RLJG'QA:H5#12DOB8]E!%%M'A5&K@2#=."JR&HB4
MYR[W9,"T@F_;-1#^F H2*:30@#S-ZB!2O=NC =\N(XAM[%:BGA\RQX&A=/4B
M1ZVN;RC_N"<#KBUK4=Y0FF^7P<.82T+5D7DO*YO,]:)6^=[/AV6NR]KQ\/S@
MY[2$&=84'EQJX65\NC*?UHI:=86CG3(^W7#_RQ+UF19.3:K4HS)^#LS4.QKP
M;5D3+0:\!W3(!25,7?3-K\=;G_'.T(J&KAGU%TIP4J9+4@E$HU;52B^=$I#R
M X]EV\4#PZX+ LP1F6O][?'&(9@(6S3E,URD!Q=;5F8=ZI,%A;83HMBK$W)?
M4',OGI";,M6WYRCXEI)<,PHRWRGEQO^>#)A6\.U W; %_^F."A)^VTV>H9\A
M-LV[/1KP[3(-]<'TF)798:\: 7I>W[C^SZ#_ O1?KX_;KO6UUI*)*^8$/IXR
MG?%AQH?IAG[:^##S@@YCMT<#OBU[0=+ ([_*.:A-FO"N.:(+;I!';N??G4Z-
M#MI.I/;O?;\*/^U=TLK&\Y;Z@_V8V'Z@I:97M$KA^<'-F_VLV/:27J'!F/%U
MQM='A9;=\/5YJKX<=]B?"ZRL..W!?2YP<[.T.[^T>OW;+NFVKM4WZ-2\ES!N
M\[)_MNGY_Y>/7=*AWH#Z_OLN_XM<C@6#FZ:[\9W?]$C;?:">SP7I4F?>*+S)
M64%\L?]A$X^%,XMHXKS%)YN>/),C2HY4=\7)YP-N/U[\/U!+ 0(4 Q0    (
M #" KU@_^JLPBP0  (,6   1              "  0    !T;VUZ+3(P,C0P
M-3$U+GAS9%!+ 0(4 Q0    ( #" KUB<.&^+VP$  (L#   5
M  "  ;H$  !T;VUZ+3(P,C0P-3$U7V-A;"YX;6Q02P$"% ,4    "  P@*]8
MGTI[ZY,"  !$"   %0              @ '(!@  =&]M>BTR,#(T,#4Q-5]D
M968N>&UL4$L! A0#%     @ ,("O6%7?I?\(!@  =S<  !4
M ( !C@D  '1O;7HM,C R-# U,35?;&%B+GAM;%!+ 0(4 Q0    ( #" KUC)
MB$&/AP0   (C   5              "  <D/  !T;VUZ+3(P,C0P-3$U7W!R
M92YX;6Q02P$"% ,4    "  P@*]8WUK^O+\.  "@7P  "P
M@ &#%   =&]M>E\X:RYH=&U02P$"% ,4    "  P@*]8G'QHEC@@   /:0$
M#@              @ %K(P  =&]M>E]E>#DY,2YH=&U02P4&      < !P#
) 0  ST,

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>tomz_8k_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="tomz-20240515.xsd" xlink:type="simple"/>
    <context id="From2024-05-15to2024-05-15">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000314227</identifier>
        </entity>
        <period>
            <startDate>2024-05-15</startDate>
            <endDate>2024-05-15</endDate>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <unit id="USDPShares">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <dei:EntityCentralIndexKey contextRef="From2024-05-15to2024-05-15" id="ixv-287">0000314227</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag contextRef="From2024-05-15to2024-05-15" id="ixv-288">false</dei:AmendmentFlag>
    <dei:DocumentType contextRef="From2024-05-15to2024-05-15" id="ixv-308">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate contextRef="From2024-05-15to2024-05-15" id="ixv-309">2024-05-15</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName contextRef="From2024-05-15to2024-05-15" id="ixv-310">TOMI Environmental Solutions, Inc.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="From2024-05-15to2024-05-15" id="ixv-311">FL</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber contextRef="From2024-05-15to2024-05-15" id="ixv-312">000-09908</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber contextRef="From2024-05-15to2024-05-15" id="ixv-313">59-1947988</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="From2024-05-15to2024-05-15" id="ixv-314">8430 Spires Way</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="From2024-05-15to2024-05-15" id="ixv-315">Frederick</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="From2024-05-15to2024-05-15" id="ixv-316">MD</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="From2024-05-15to2024-05-15" id="ixv-317">21701</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="From2024-05-15to2024-05-15" id="ixv-318">800</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="From2024-05-15to2024-05-15" id="ixv-319">525-1698</dei:LocalPhoneNumber>
    <dei:WrittenCommunications contextRef="From2024-05-15to2024-05-15" id="ixv-320">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial contextRef="From2024-05-15to2024-05-15" id="ixv-321">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer contextRef="From2024-05-15to2024-05-15" id="ixv-322">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer contextRef="From2024-05-15to2024-05-15" id="ixv-323">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle contextRef="From2024-05-15to2024-05-15" id="ixv-324">Common Stock, $0.01 par value per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="From2024-05-15to2024-05-15" id="ixv-325">TOMZ</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="From2024-05-15to2024-05-15" id="ixv-326">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany contextRef="From2024-05-15to2024-05-15" id="ixv-327">false</dei:EntityEmergingGrowthCompany>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
